Python 3.x 如何在python中从列表中删除特殊字符

Python 3.x 如何在python中从列表中删除特殊字符,python-3.x,list,Python 3.x,List,我有一张这样的清单 ['hold', 'summit', 'septemb', '8', '9', '.', "'s", 'nancy-amelia', 'sydney', '.', 'energy', ','] 我想一次删除列表中的所有整数、‘点’、‘s’中的引号、‘逗号’、‘双引号’,或者我只想保留列表中的字符串条目,即hold、summit等,并删除所有其他内容 提前感谢试试这个 >>> lst=['hold', 'summit', 'sep

我有一张这样的清单

['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“列表理解”,其中包含“if条件”。
通过这种方式,您可以创建带有值的新列表,该列表将通过if条件(
if word not in filter_words
)。

”中引用是什么意思?如果您看到第七个元素,即“s”。我只想将其替换为“s”。很难确切地说出“特殊”是什么“这里是人物。数字是特殊字符吗?你能确切地说明你的结果列表应该是什么吗(不是英文描述,而是列表本身)?@RyanHaining在回答中以我想要的方式解决了这个问题。请参考他的答案。谢谢谢谢ritesh93,这很有效,但它已将所有条目改为空白。尽管如此,列表的长度还是和以前一样。我想完全删除它们,我正在尝试列表。删除(“”),这给了我一些对象类型。@ritesh93完成,谢谢。请解释您编辑答案时所做的操作,仅避免使用代码。看一看:感谢您提供这段代码片段,它可能会提供一些有限的短期帮助。通过说明为什么这是一个很好的问题解决方案来正确解释它的长期价值,并将使它对未来有其他类似问题的读者更有用。请在您的回答中添加一些解释,包括您所做的假设。