我有一个像
这样的清单['hold', 'summit', 'septemb', '8', '9', '.', "'s", 'nancy-amelia', 'sydney', '.', 'energy', ',']
我想一次性从这样的列表中删除所有整数,'点',“s”,“逗号”,“双引号”中的引号或者我只想保留字符串条目,即hold,summit等。在列表中删除所有其他东西
提前感谢
答案 0 :(得分:5)
>>> lst=['hold', 'summit', 'septemb', '8', '9', '.', "'s", 'nancy-amelia', 'sydney', '.', 'energy', ',']
>>> import re
>>> list(filter(lambda x:x, map(lambda x:re.sub(r'[^A-Za-z]', '', x), lst)))
['hold', 'summit', 'septemb', 's', 'nancyamelia', 'sydney', 'energy']
>>>
答案 1 :(得分:0)
试试这个
words = ['qwety', 'dot', 's', '"']
filter_words = ['"', 'dot']
filtered = [word for word in words if word not in filter_words]
(第3行)在“if条件”中使用python“list comprehension”。
这样,您就可以创建包含值的新列表,如果条件为if word not in filter_words
),则会传递。