【发布时间】:2012-08-01 06:37:58
【问题描述】:
我需要使用字典进行“搜索和替换”。我希望它首先使用最长的键。
这样
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])):
只是无法得到里面的东西。
可以一串做吗?
【问题讨论】:
-
dict对字典来说是一个非常糟糕的名字,你在隐藏内置, -
python - Dictionary Sorting by Key Length -->在您提问前 5 分钟发布
-
我和它没有任何联系)所以,
sorted(d.iteritems(), key=lambda x: len(x[0]))似乎是一个答案。 -
@Qiao 因为你不需要有序字典,所以我采用了不同的方法,只是对看起来更好的键进行排序 imo
标签: python dictionary