我有一个'illegal characters'列表和另一个字符串列表。我想用下划线替换字符串列表中的任何非法字符



如何从my_titles列表中的每个字符串中删除所有非法字符并用下划线替换它们?

这是我的代码:

illegal_chars=['?',':','>','<','|']
my_titles=['Memoirs | 2018','>Example<','May: the 15th']

我必须使用嵌套的for循环吗?或者有更简单/更干净的方法吗?非常感谢。

试试这个:

for i in illegal_chars:
my_titles=[k.replace(i, '_') for k in my_titles]
>>> print(my_titles)
['Memoirs _ 2018', '_Example_', 'May_ the 15th']
illegal_chars=['?',':','>','<','|']
my_titles=['Memoirs | 2018','>Example<','May: the 15th']
new_titles = []
for i in my_titles:
for j in illegal_chars:
if j in i:
i = i.replace(j,'_')
new_titles.append(i)
print(new_titles)

这样的东西怎么样?

illegal_chars=['?',':','>','<','|']
my_titles=['Memoirs | 2018','>Example<','May: the 15th']
for i in range(len(my_titles)):
for char in illegal_chars:
if char in my_titles[i]:
my_titles[i] = my_titles[i].replace(char, "_")

最新更新