una tuplas por metodos llenar listas lista elementos diccionarios comprensión anidadas agregar python

tuplas - metodos de listas en python



¿Cuál es la manera Pythonic de combinar dos secuencias en un diccionario? (2)

¿Hay alguna forma más concisa de hacer esto en Python ?:

def toDict(keys, values): d = dict() for k,v in zip(keys, values): d[k] = v return d


Sí:

dict(zip(keys,values))


Si el tamaño de las keys puede ser mayor que el de los values uno, podría usar itertools.izip_longest (Python 2.6) que permite especificar un valor predeterminado para el resto de las claves:

from itertools import izip_longest def to_dict(keys, values, default=None): return dict(izip_longest(keys, values, fillvalue=default))

Ejemplo:

>>> to_dict("abcdef", range(3), 10) {''a'': 0, ''c'': 2, ''b'': 1, ''e'': 10, ''d'': 10, ''f'': 10}

NOTA: itertools.izip*() funciona a diferencia de la función zip() devuelve iteradores no listas.