簡體   English   中英

從python列表中刪除'\\ n \\ n \\ n','\\ n'

[英]Remove '\n\n\n', '\n' from python list

如何從下面的數組中刪除'\\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不在列表中

使用數組理解:

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

而不是定位非字母數字字符,而是搜索字母數字字符本身:

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

我不會命名名單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']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM