改变字符串中的字符

时间:2014-03-10 20:19:31

标签: python list

code =   ['#+/084&"', '#3*#%#+', '8%203:', ',1$&', '!-*%', '.#7&33&', '#*#71%', '']

如何更改此列表,以便例如,如果我想要更改“D”的所有“#”,则列表将如下所示:

code =   ['D+/084&"', 'D3*D%D+', '8%203:', ',1$&', '!-*%', '.D7&33&', 'D*D71%', '']

3 个答案:

答案 0 :(得分:1)

您还可以将替换操作映射到列表:

map(lambda x: str.replace(x, '#', 'D'), code)

如果是在Python 3中,您可能需要:

list(map(lambda x: str.replace(x, '#', 'D'), code))

答案 1 :(得分:0)

对列表解析中的每个值调用str.replace()

code = [s.replace('#', 'D') for s in code]

答案 2 :(得分:0)

使用list comprehensionstr.replace

>>> code = ['#+/084&"', '#3*#%#+', '8%203:', ',1$&', '!-*%', '.#7&33&', '#*#71%', '']
>>> code[:] = [x.replace("#", "D") for x in code]
>>> code
['D+/084&"', 'D3*D%D+', '8%203:', ',1$&', '!-*%', '.D7&33&', 'D*D71%', '']
>>>

注意:仅当您希望列表对象保持不变时才需要 [:]。否则,您可以将其删除。