Ich habe also ein Tupel definiert: (Slot, GameID, Bitrate)Elegante Möglichkeit zum Erstellen eines Wörterbuchs von Paaren, aus einer Liste von Tupeln?
und erstellt eine Liste von ihnen myListOfTuples
genannt. In dieser Liste könnten Tupel sein, die das gleiche gameid
enthalten.
z. die Liste kann wie folgt aussehen:
[
(1, "Solitaire", 1000),
(2, "Diner Dash", 22322),
(3, "Solitaire", 0),
(4, "Super Mario Kart", 854564),
... and so on.
]
Aus dieser Liste ein Wörterbuch von Paaren erstellen müssen - (gameId
, bitrate
), wo die bitrate
für diese gameId
ist die erste, die ich auf für diese bestimmten gameId
kam in myListOfTuples
.
z. Aus dem obigen Beispiel - das Wörterbuch von Paaren würde nur ein Paar mit gameId
"Solitaire" enthalten: ("Solitaire", 1000)
weil 1000 die erste gefundene Bitrate ist.
NB. Ich kann eine Reihe von einzigartigen Spiele mit diesem erstellen:
uniqueGames = set((e[1] for e in myListOfTuples))
Dank verwenden katrielalex - Ich bekomme einen Syntaxfehler kurz nach dem 'for'. Warum die "umgekehrte"? – BeeBand
Das "Umgekehrte" ist, weil wiederholte Wörterbuchzuweisung zu demselben Schlüssel seinen Wert überschreibt; Wir wollen den * ersten * Wert in der Liste, damit wir rückwärts iterieren. Ich gehe davon aus, dass Sie Python 2.x verwenden, da Lexikon-Komprehensionen für Py3k neu sind. Sie können das gleiche mit einem Generator tun, obwohl es ein bisschen unordentlicher ist. Festsetzung. – katrielalex
Ich sehe. Ja, ein Wörterbuch wäre tatsächlich nützlicher. – BeeBand