我有一个类似的清单

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

10-05 23:03