从python列表中删除'\ n \ n \ n','\ n'

时间:2017-12-28 22:23:52

标签: python

如何从下方数组中删除'\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不在列表中

3 个答案:

答案 0 :(得分:1)

使用数组理解:

[x for x in list if not x.isspace() and u'\xa0' not in x]

答案 1 :(得分:1)

不是定位非字母数字字符,而是自己搜索字母数字字符:

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

答案 2 :(得分:0)

我不会将列表delegate更好地命名为:

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