将unicode列表转换为python中的字符串列表

时间:2014-12-24 07:26:35

标签: python string unicode

我有这个Unicode列表

list = [u'Hello\n', u'23456\n', u'45678\n',u'85963\n'].

我希望它转换为字符串列表,如下所示

list1 = ['Hello','23456','45678','85963']

使用最少的代码。

4 个答案:

答案 0 :(得分:1)

您可以在列表理解中使用str()strip()

>>> my_list = [u'Hello\n', u'23456\n', u'45678\n',u'85963\n']
>>> my_list = [str(i).strip() for i in my_list]
['Hello', '23456', '45678', '85963']

注意:不要使用python内置函数作为变量名!


或者您可以使用ascii将您的unicodes编码为encode('ascii','ignore')

>>> [i.encode('ascii','ignore').strip() for i in my_list]
['Hello', '23456', '45678', '85963']

答案 1 :(得分:0)

使用string内置转换str()中的所有数组元素 然后使用str.strip()删除空格。

In [5]: list(str(i).strip() for i in _list)
Out[5]: ['Hello', '23456', '45678', '85963']

答案 2 :(得分:0)

首先,您不应将list用作变量名。它是Python中的保留关键字。 来到你真正的问题,获得你想要的最好和最pythonic的方式是:

xlist = [x.encode().rstrip('\n') for x in list]

print xlist
['Hello', '23456', '45678', '85963']

要了解详情,请参阅str.encode()string.rstrip()方法。

答案 3 :(得分:-1)

怎么样,

for i in list: out.append(str(i)[0:-1])