Así es como estoy convirtiendo actualmente una lista de tuplas en un diccionario en Python:
l = [('a',1),('b',2)]
h = {}
[h.update({k:v}) for k,v in l]
> [None, None]
h
> {'a': 1, 'b': 2}
¿Existe una forma mejor? Parece que debería haber una sola línea para hacer esto.
python
list
dictionary
tuples
Sarah Vessels
fuente
fuente
dict
, sombreando el Python incorporado del mismo nombre. Nunca deberías hacer eso.dict
como nombre de variable de donde obtuve el error. Gracias de nuevo.El
dict
constructor acepta la entrada exactamente como la tiene (tuplas clave / valor).De la documentación :
fuente
Con
dict
comprensión:fuente
Parece que todos aquí asumen que la lista de tuplas tiene un mapeo uno a uno entre clave y valores (por ejemplo, no tiene claves duplicadas para el diccionario). Como esta es la primera pregunta que surge al buscar sobre este tema, publico una respuesta para un caso más general en el que tenemos que lidiar con duplicados:
fuente