Erstellen Sie eine Liste von namedtuples
Es kann oft sehr praktisch sein namedtuple zu verwenden.Zum Beispiel haben Sie ein Wörterbuch von ‚name‘ als Schlüssel und ‚Partitur‘ als Werte wie:
d = {'John':5, 'Alex':10, 'Richard': 7}
Sie die Einzelteile als Tupel auflisten, sortiert, wenn Sie mögen, und den Namen und den Wert von, lassen Sie uns sagen die Spieler mit der höchsten Punktzahl (Index = 0) sehr Pythonically wie folgt aus:
>>> player = best[0]
>>> player.name
'Alex'
>>> player.score
10
Wie dies tun:
Liste in zufälliger Reihenfolge oder Aufrechterhaltung der Ordnung von collections.OrderedDict:
import collections
Player = collections.namedtuple('Player', 'name score')
players = list(Player(*item) for item in d.items())
, um, nach Wert sortiert ('Score'):
import collections
Player = collections.namedtuple('Player', 'score name')
mit niedrigste Punktzahl sortiert zuerst:
worst = sorted(Player(v,k) for (k,v) in d.items())
mit der höchsten Punktzahl sortiert zuerst:
best = sorted([Player(v,k) for (k,v) in d.items()], reverse=True)
'[tuple (umgekehrt (x)) für x in d.Items()]' – garej