I want to combine a list of different Python objects into one line. Objects can be literally any. I thought I could just do this using the following code:
' '.join([str(x) for x in the_list])
but unfortunately this sometimes gives me a UnicodeEncodeError:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 80: ordinal not in range(128)
in this answer SO> I found a person who says I need to use .encode('utf-8') , so I changed my code to this:
' '.join([x.encode('utf-8') for x in the_list])
But if the objects are not strings or Unicode, but for example int , I get AttributeError: 'int' object has no attribute 'encode' . So this means that I need to use some kind of if statement to check what type it is and how to convert it. But when should I use .encode('utf-8') and when should str() be used?
It would be even better if I could do some kind of synth for this, but I would not know how to do this? Does anyone else know? All tips are welcome!
source share