我有这个Unicode列表
list = [u'Hello\n', u'23456\n', u'45678\n',u'85963\n'].
我希望它转换为字符串列表,如下所示
list1 = ['Hello','23456','45678','85963']
使用最少的代码。
答案 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])