Ich habe ein Diktat, das ich als Schlüssel zum Sortieren einer Liste verwenden möchte.Konvertieren Sie die Liste der Ints in Strings als Schlüssel für das Diktat in der Sortierung
names = {'a': 1, 'b': 0, 'c': 2, 'd': 3, 'e': 4, 'f': 5,}
nodes = {'0': 'b', '1': 'a', '2': 'c', '3': 'd', '4': 'e', '5': 'f'}
l1 = [0, 1, 2, 3, 4]
l1.sort(key=names.get)
Was ich will, ist L1 zu sein [1, 0, 2, 3, 4]
.
Offensichtlich funktioniert die Sortierzeile nicht, da die Nummern keine richtigen Tasten für das Diktat sind.
Ich habe die Knoten, also denke ich, L1 in String-Werte zu konvertieren, verwenden Sie die resultierende Zeichenfolge als Schlüssel für die Sortierung, aber ich weiß einfach nicht, wie das geht.
Ich könnte dies in einer Art Mega-Schleife tun, aber ich versuche, Python zu lernen, und ich bin sicher, es gibt eine mehr pythische Art, es zu tun.
'l1.sort (key = (lambda x, d = Knoten: d [str (x)]))' ' –
Liste (map (names.get, sortierte (map (nodes.get, map (str, l1))))) "wäre der falsche Weg, es zu tun. –
StevenRumbalski Ihr Lambda ist etwas anders als @ Psidoms angenommene Antwort. Irgendwelche Gedanken, welche Form könnte besser sein? – cryptoref