我有一个清单

['hello', '...', 'h3.a', 'ds4,']

这应该变成
['hello', 'h3a', 'ds4']

我只想去掉标点符号,保持字母和数字的完整性。
标点符号是string.punctuation常量中的任何内容。
我知道这很简单,但我对python不太在行,所以…
谢谢,
乔达梅里奥

最佳答案

假设初始列表存储在变量x中,则可以使用此选项:

>>> x = [''.join(c for c in s if c not in string.punctuation) for s in x]
>>> print(x)
['hello', '', 'h3a', 'ds4']

要删除空字符串:
>>> x = [s for s in x if s]
>>> print(x)
['hello', 'h3a', 'ds4']

09-29 21:25