Ho definito una tupla così: (slot, GameID, bitrate)Modo elegante per creare un dizionario di coppie, da un elenco di tuple?
e creato un elenco di loro chiamato myListOfTuples
. In questo elenco potrebbero essere presenti tuple contenenti lo stesso gameid
.
E.g. la lista può apparire come:
[
(1, "Solitaire", 1000),
(2, "Diner Dash", 22322),
(3, "Solitaire", 0),
(4, "Super Mario Kart", 854564),
... and so on.
]
Da questa lista, ho bisogno di creare un dizionario di coppie - (gameId
, bitrate
), dove il bitrate
per quella gameId
è il primo che mi sono imbattuto per quel particolare gameId
in myListOfTuples
.
E.g. Dall'esempio precedente, il dizionario delle coppie conterrebbe solo una coppia con gameId
"Solitaire": ("Solitaire", 1000)
perché 1000 è il primo bitrate trovato.
NB. Posso creare un set di giochi unici con questo:
uniqueGames = set((e[1] for e in myListOfTuples))
Grazie katrielalex - ottengo un errore di sintassi appena dopo il 'for'. Perché il 'invertito'? – BeeBand
Il 'invertito' è perché l'assegnazione ripetuta del dizionario alla stessa chiave sovrascrive il suo valore; vogliamo il * primo * valore nella lista, quindi andiamo all'indietro. Presumo che tu stia usando Python 2.x, dal momento che le comprensioni del dizionario sono nuove per Py3k. Puoi fare la stessa cosa con un generatore, anche se è un po 'disordinato. Fissaggio. – katrielalex
Vedo. Sì, un dizionario sarebbe più utile in realtà. – BeeBand