Tengo una lista que se parece a:
[('A', 1), ('B', 2), ('C', 3)]
Quiero convertirlo en un diccionario que se vea así:
{'A': 1, 'B': 2, 'C': 3}
¿Cuál es la mejor manera de hacer esto?
EDITAR: Mi lista de tuplas es en realidad más como:
[(A, 12937012397), (BERA, 2034927830), (CE, 2349057340)]
python
list
dictionary
Fred Wilson
fuente
fuente
A
,B
(oBERA
) yC
(oCE
) son en realidad? GraciasRespuestas:
Esa es tu pregunta real .
La respuesta es que los elementos de su lista no son lo que usted piensa que son. Si escribe
myList[0]
, encontrará que el primer elemento de su lista no es una tupla de dos, por ejemplo('A', 1)
, sino un iterable de 1916 de longitud.Una vez que en realidad tiene una lista en la forma que se indique en su pregunta original (
myList = [('A',1),('B',2),...]
), todo lo que tiene que hacer esdict(myList)
.fuente
[(1,2), (1,3)]
, ¡{1:3}
golpearía tus llaves y perdería información! Un dict es una relación de uno a * con el tiempo de inserción / eliminación de O (1). La lista es una lista.fuente
l=[('A',1), ('B',2), ('C',3), ('A', 2)]
dará como resultado'A': 1
que no sea el resultado deseado.¿Has probado esto?
fuente
dict([string1, string2, string3, string4])
l=[('A',1), ('B',2), ('C',3), ('A', 2)]
resultará en tener el'A': 1
que puede no ser el resultado deseado.Aquí hay una manera de manejar duplicados "claves" de tupla:
fuente
Otra forma de usar las comprensiones del diccionario,
fuente
Si Tuple no tiene repeticiones de teclas, es simple.
Si la tupla tiene repeticiones clave.
fuente
fuente