我有一个像这样的清单
['hold', 'summit', 'septemb', '8', '9', '.', "'s", 'nancy-amelia', 'sydney', '.', 'energy', ',']
我想一次性从这样的列表中删除所有整数,'点',“s”,“逗号”,“双引号”中的引号或者我只想保留字符串条目,即列表中的hold,summit等并删除所有其他东西
预先感谢
>>> 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']
>>>
试试这个
words = ['qwety', 'dot', 's', '"']
filter_words = ['"', 'dot']
filtered = [word for word in words if word not in filter_words]
(在第3行)我们使用python“list comprehension”和“if condition”。这样你就可以创建带有值的新列表,如果条件(if word not in filter_words
)将通过。