Python: 解析字典中的值(字符串)并替换它
Python: parsing a value(string) in a dictionary and replace it
我的词典:
mydict{'a':'/1/2/3/4/5/wrong1', 'b':'/x/y/x/u/t/wrong2'}
我想解析这个值,并将 'wrong*' 替换为 'right'。 'Right' 始终相同,而 'wrong' 每次都不同。
'wrong' looks e.g. like that: folder_x/folder_y/somelongfilename.gz
'right' looks like that: *-AAA/debug.out
所以之后我的字典应该是这样的:
mydict{'a':'/1/2/3/4/5/right', 'b':'/x/y/x/u/right'}
仅替换值在这里不起作用,因为我想解析该值并仅替换它的最后一部分。保留值的第一部分很重要。
有没有人知道如何解决这个问题。
谢谢。
您可以使用re.sub
为您处理更换
>>> import re
>>> {k : re.sub('wrong', 'right', v) for k,v in mydict.items()}
{'b': '/x/y/x/u/t/right2',
'a': '/1/2/3/4/5/right1'}
我的词典:
mydict{'a':'/1/2/3/4/5/wrong1', 'b':'/x/y/x/u/t/wrong2'}
我想解析这个值,并将 'wrong*' 替换为 'right'。 'Right' 始终相同,而 'wrong' 每次都不同。
'wrong' looks e.g. like that: folder_x/folder_y/somelongfilename.gz
'right' looks like that: *-AAA/debug.out
所以之后我的字典应该是这样的:
mydict{'a':'/1/2/3/4/5/right', 'b':'/x/y/x/u/right'}
仅替换值在这里不起作用,因为我想解析该值并仅替换它的最后一部分。保留值的第一部分很重要。
有没有人知道如何解决这个问题。
谢谢。
您可以使用re.sub
为您处理更换
>>> import re
>>> {k : re.sub('wrong', 'right', v) for k,v in mydict.items()}
{'b': '/x/y/x/u/t/right2',
'a': '/1/2/3/4/5/right1'}