Python:如何使用相同的替换字符串替换多个不同的字符串?

我试图用相同的字符串替换规则替换多个不同的字符串。

list_names = ['!sdf?', '!sdfds?', '!afsafsa?', '!afasf?']

for i in list_names:
    vari1 = list_names[1]
    vari2 = list_names[2]
    vari3 = list_names[3]

我正在尝试替换 ! 和?上面带有''。

目前我可以使用以下代码逐个字符串执行此字符串:

list_names = ['!sdf?', '!sdfds?', '!afsafsa?', '!afasf?']
for i in list_names:
    vari1 = list_names[1]
    vari2 = list_names[2]
    vari3 = list_names[3]
    vari1 = vari1.replace('!', '').replace('?', '')
    vari2 = vari2.replace('!', '').replace('?', '')
    vari3 = vari3.replace('!', '').replace('?', '')

我知道在上面的代码中使用循环是没有意义的。但我打算以此为基础。

鉴于所有 3 个变量的字符串替换都是相同的,是否有任何简单的方法可以一次对所有变量执行此操作?

谢谢!

回答

您可以只使用列表理解。

>>> [x.replace('!', '').replace('?','') for x in list_names]
['sdf', 'sdfds', 'afsafsa', 'afasf']

此外,如果您有多个字符串要替换,您甚至可以通过使用如下所述的函数来使用正则表达式组合它们:|re.sub

>>> import re
>>> [re.sub('?|!', '', x) for x in list_names]
['sdf', 'sdfds', 'afsafsa', 'afasf']


以上是Python:如何使用相同的替换字符串替换多个不同的字符串?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>