Crear un diccionario con comprensión de listas en Python



Answers

En Python 3 / Python 2.7+ las comprensiones dict funcionan así:

d = {k:v for k, v in iterable}

Para Python 2.6 y versiones anteriores, vea la respuesta de Fortran .

Question

Me gusta la sintaxis de comprensión de la lista de Python.

¿Se puede usar para crear diccionarios también? Por ejemplo, al iterar sobre pares de claves y valores:

mydict = {(k,v) for (k,v) in blah blah blah}  # doesn't work



Sencillo

Para la versión <2.7

d = dict((i,True) for i in [1,2,3])

para la versión> = 2.7

d = {i: True for i in [1,2,3]}



Prueba esto,

def get_dic_from_two_lists(keys, values):
    return { keys[i] : values[i] for i in range(len(keys)) }

Supongamos que tenemos dos listas, país y capital

country = ['India', 'Pakistan', 'China']
capital = ['New Delhi', 'Islamabad', 'Beijing']

Luego crea un diccionario a partir de las dos listas:

print get_dic_from_two_lists(country, capital)

La salida es así,

{'Pakistan': 'Islamabad', 'China': 'Beijing', 'India': 'New Delhi'}



Use las comprensiones del dict de Python. Aquí está la página para saber más sobre esto: Comprensión Dict .




En Python 2.7, dice así:

>>> list1, list2 = ['a', 'b', 'c'], [1,2,3]
>>> dict( zip( list1, list2))
{'a': 1, 'c': 3, 'b': 2}

Zip ellos !




Related