Aniadir mas de un elemento a un diccionario a la vez

Hernan Martinez Foffani hernan en orgmf.com.ar
Lun Jul 22 21:00:35 CEST 2002


> con bucles for podemos recorrer uno de los diccionarios e ir
> anadiendo uno a uno las claves y
> valores al otro diccionario:
>
> >>> for a in l1.keys():
> ...     nuevo[a] = l1[a]
> ...     for b in l2.keys():
> ...             nuevo[b] = l2[b]
> ...
> >>> nuevo
> {'datepreserve': 0, 'anio': 2002, 'dia': 15, 'mes': 7, 'permissions': 484}
>
> asi ya tenemos un unico diccionario con los elementos de dos.


mm.... me parece que el bucle en b debería estar a la misma
altura que el de a, y no anidado.  eso si entendí bien el
problema.

otra aproximación al problema:

>>> dic_1 = {'a':3, 'b':33}
>>> dic_2 = {'c':4, 'd':404}
>>> lista = dic_1.items()
>>> lista.extend(dic_2.items())
>>> nuevo = dict(lista)
>>> nuevo
{'a': 3, 'c': 4, 'b': 33, 'd': 404}
>>>

el metodo .items() de los diccionarios devuelve una lista de
tuplas (pares ordenados clave y valor) de dicho diccionario.

además la funcion dict (mas precisamente, un constructor)
recibe como parametro una lista de tuplas y devuelve un
diccionario.

es como decir que una es la "inversa" de la otra.

-Hernan







Más información sobre la lista de distribución Python-es