如何从下面的数组中删除'\n\n\n'、'\n'、u'\xa0'?
list = ['\n\n\n', '\n', '1', '2', '\n', '\n', '\n', '\n', '\n', '\n', '\n', '\n', '\n', '\n', '\n', '\n', u'\xa0', '\n', u'\xa0\xa0', '\n', '3']我尝试过.remove("'\n'"),但收到错误消息: list.remove(x):x不在列表中
发布于 2017-12-29 06:28:27
使用数组理解:
[x for x in list if not x.isspace() and u'\xa0' not in x]
发布于 2017-12-29 06:36:20
搜索字母数字字符本身,而不是搜索非字母数字字符:
import re
l = ['\n\n\n', '\n', '1', '2', '\n', '\n', '\n', '\n', '\n', '\n', '\n', '\n', '\n', '\n', '\n', '\n', u'\xa0', '\n', u'\xa0\xa0', '\n', '3']
new_l = filter(lambda x:re.findall('^[a-zA-Z0-9]+$', x), l)输出:
['1', '2', '3']发布于 2017-12-29 06:34:57
我不会把这个列表命名为list,就像这样:
l = ['\n\n\n', '\n', '1', '2', '\n', '\n', '\n', '\n', '\n', '\n', '\n', '\n', '\n', '\n', '\n', '\n', u'\xa0', '\n', u'\xa0\xa0', '\n', '3']然后你可以尝试filter:
> list(filter(lambda x: '\n' not in x and u'\xa0' not in x, l))
> ['1', '2', '3']https://stackoverflow.com/questions/48015132
复制相似问题