![](/img/trans.png)
[英]How to delete u'\n\n\n\n\n\n\n\n\n' and u'\xa0' from a python list
[英]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.