list = [ 'u'adc', 'u'toto', 'u'tomato', ...]
我想要的是最终列出的那种: list2 = [' adc',' toto','番茄' ...]
如果不使用正则表达式,请告诉我如何做到这一点? 我正在尝试:
for item in list:
list.extend(str(item).replace("u'",''))
list.remove(item)
但最终会给出一些形式[' a',' d',' d',' m' .. ]
在列表中,我可能有任意数量的字符串。
答案 0 :(得分:2)
您可以将其编码为“utf-8”,如下所示:
list_a=[ u'adc', u'toto', u'tomato']
list_b=list()
for i in list_a:
list_b.append(i.encode("utf-8"))
list_b
输出:
['adc', 'toto', 'tomato']
或者你可以使用str函数:
list_c = list()
for i in list_a:
list_c.append(str(i))
list_c
输出:
['adc', 'toto', 'tomato']
答案 1 :(得分:1)
使用" u \'"
例如:
l = [ "u'adc", "u'toto", "u'tomato"]
for item in l:
print(item.replace("u\'", ""))
将输出:
adc
toto
tomato
答案 2 :(得分:1)
我验证了您的问题,但它说明了语法问题,这意味着您在列表中声明字符串的方式不正确。在这种情况下,我在第2行纠正了这个问题。
In [1]: list = [ 'u'adc', 'u'toto', 'u'tomato']
File "<ipython-input-1-2c6e581e868e>", line 1
list = [ 'u'adc', 'u'toto', 'u'tomato']
^
SyntaxError: invalid syntax
In [2]: list = [ u'adc', u'toto', u'tomato']
In [3]: list = [ str(item) for item in list ]
In [4]: list
Out[4]: ['adc', 'toto', 'tomato']
In [5]:
答案 3 :(得分:1)
试试这个:
for item in list:
for x in range(0, len(item)):
if item[x] == 'u':
item[x] = ''
这将获取列表中的所有实例,并检查字符串&#39; u&#39;。如果&#39; u&#39;找到,比代码用空字符串替换它,基本上删除它。更多代码可以允许它检查字母组合(&#39; abc&#39;等)。
答案 4 :(得分:1)
解决方案-1
input_list = [ u'adc', u'toto', u'tomato']
output_list=map(lambda x:str(x),input_list )
print output_list
输出看起来像:
['adc', 'toto', 'tomato']
解决方案-2
input_list = [ u'adc', u'toto', u'tomato']
output_list=map(lambda x:x.encode("utf-8"),input_list )
print output_list
输出看起来像:
['adc', 'toto', 'tomato']
答案 5 :(得分:1)
您的输入只不过是 json !你转储列表中的每个项目(这是一个json!)来获得所需的输出!
由于您的输出带有引号 - 您需要剥离(开始和尾随)它们!
import json
list = [ u'adc', u'toto', u'tomato']
print [json.dumps(i).strip('\"') for i in list]
输出:
['adc', 'toto', 'tomato']
希望它有所帮助!