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