我需要使用字典进行“搜索和替换”。我希望它首先使用最长的键。
那样
text = 'xxxx'
dict = {'xxx' : '3','xx' : '2'}
for key in dict:
text = text.replace(key, dict[key])
应该返回“3x”,而不是现在的“22”。
像
这样的东西for key in sorted(dict, ???key=lambda key: len(mydict[key])):
无法得到里面的东西。
是否可以用一个字符串做?
答案 0 :(得分:19)
>>> text = 'xxxx'
>>> d = {'xxx' : '3','xx' : '2'}
>>> for k in sorted(d, key=len, reverse=True): # Through keys sorted by length
text = text.replace(k, d[k])
>>> text
'3x'