python – Removing u in list

python – Removing u in list

That u is part of the external representation of the string, meaning its a Unicode string as opposed to a byte string. Its not in the string, its part of the type.

As an example, you can create a new Unicode string literal by using the same synax. For instance:

>>> sandwich = usmörgås
>>> sandwich
usmxf6rgxe5s

This creates a new Unicode string whose value is the Swedish word for sandwich. You can see that the non-English characters are represented by their Unicode code points, ö is xf6 and å is xe5. The u prefix appears just like in your example to signify that this string holds Unicode text.

To get rid of those, you need to encode the Unicode string into some byte-oriented representation, such as UTF-8. You can do that with e.g.:

>>> sandwich.encode(utf-8)
smxc3xb6rgxc3xa5s

Here, we get a new string without the prefix u, since this is a byte string. It contains the bytes representing the characters of the Unicode string, with the Swedish characters resulting in multiple bytes due to the wonders of the UTF-8 encoding.

arr = [str(r) for r in arr]

This basically converts all your elements in string. Hence removes the encoding. Hence the u which represents encoding gets removed
Will do the work easily and efficiently

python – Removing u in list

The u means the strings are unicode. Translate all the strings to ascii to get rid of it:

a.encode(ascii, ignore)

Leave a Reply

Your email address will not be published.