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