Mögliche Duplizieren:
Dictionary sorting by key lengthArt Wörterbuch von Schlüssellänge
Ich brauche Wörterbuch verwenden für "Suchen und Ersetzen". Und ich möchte, dass es zuerst die längsten Schlüssel verwendet.
Damit
text = 'xxxx'
dict = {'xxx' : '3','xx' : '2'}
for key in dict:
text = text.replace(key, dict[key])
sollte "3x" zurückzukehren, nicht "22", wie es jetzt ist.
So etwas wie
for key in sorted(dict, ???key=lambda key: len(mydict[key])):
kann einfach nicht bekommen, was drin ist.
Ist es möglich, in einer Zeichenfolge zu tun?
'dict' ist ein sehr schlechter Name für ein Wörterbuch, Sie Shadowing die eingebaute, – jamylak
[Python - Wörterbuch Sortierung nach Schlüssellänge] (http://stackoverflow.com/questions/11753758/dictionary -sort-by-key-length) -> gepostet 5 Minuten vor deiner Frage – elssar
Ich habe keine Verbindung damit :) Also, 'sortiert (d.iteritems(), key = lambda x: len (x [0])) Es scheint eine Antwort zu sein. – Qiao