he definido una tupla de este modo: (ranura, gameid, tasa de bits)¿Una forma elegante de crear un diccionario de pares, a partir de una lista de tuplas?
y ha creado una lista de los llamaron myListOfTuples
. En esta lista puede haber tuplas que contengan el mismo gameid
.
E.g. la lista puede verse como:
[
(1, "Solitaire", 1000),
(2, "Diner Dash", 22322),
(3, "Solitaire", 0),
(4, "Super Mario Kart", 854564),
... and so on.
]
De esta lista, que necesito para crear un diccionario de pares - (gameId
, bitrate
), donde el bitrate
para que gameId
es el primero que me encontré para ese particular, gameId
en myListOfTuples
.
E.g. En el ejemplo anterior, el diccionario de pares contendría solo un par con gameId
"Solitario": ("Solitaire", 1000)
porque 1000 es la primera tasa de bits encontrada.
NB. Puedo crear un conjunto de juegos únicos con esto:
uniqueGames = set((e[1] for e in myListOfTuples))
Gracias katrielalex - consigo un error de sintaxis justo después de la 'for'. ¿Por qué el 'revertido'? – BeeBand
El 'revertido' se debe a que la asignación repetida del diccionario a la misma clave sobrescribe su valor; queremos el * primer * valor en la lista, entonces iteramos hacia atrás. Supongo que está utilizando Python 2.x, ya que las comprensiones de los diccionarios son nuevas para Py3k. Puedes hacer lo mismo con un generador, aunque es un poco más desordenado. Fijación. – katrielalex
Ya veo. Sí, un diccionario sería más útil en realidad. – BeeBand