Easy way to convert a unicode list to a list containing python strings?

Encode each value in the list to a string:

[x.encode('UTF8') for x in EmployeeList]

You need to pick a valid encoding; don’t use str() as that’ll use the system default (for Python 2 that’s ASCII) which will not encode all possible codepoints in a Unicode value.

UTF-8 is capable of encoding all of the Unicode standard, but any codepoint outside the ASCII range will lead to multiple bytes per character.

However, if all you want to do is test for a specific string, test for a unicode string and Python won’t have to auto-encode all values when testing for that:

u'1001' in EmployeeList.values()

Leave a Comment