从列表

时间:2017-05-05 01:18:28

标签: python web-scraping strip

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' .. ]

在列表中,我可能有任意数量的字符串。

6 个答案:

答案 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']

希望它有所帮助!