[PIPython] concatenare dizionari

Alex Martelli aleaxit
Ven 19 Nov 2004 15:16:41 CET


On Thursday 29 January 2004 11:30 am, Federico Nati wrote:
> posso concatenare le liste, per esempio
>
> >>> [1, 2] + [3, 4]
>
> [1, 2, 3, 4]
>
> ma non i dizionari:
> >>> {"a":1, "b":2}+{"c":3, "d":4}
>
> Traceback (most recent call last):
>   File "<stdin>", line 1, in ?
> TypeError: unsupported operand types for +: 'dict' and 'dict'
>
> Esiste un modo per ottenere
> {"a":1, "b":2, "c":3, "d":4}
>
> facilmente a partire dai due dizionari separati?

Il metodo update dei dizionari, ma lavora in-place:

x = {"a":1, "b":2}
x.update({"c":3, "d":4})

naturalmente non c'e` nessun ordine nel valore risultante di x
(i dizionari non ne hanno).  Una "addizione" avrebbe semantica
assai poco chiara nel caso di una chiave presente in entrambi i
dizionari, mentre update e` chiarissimo (prevale il secondo dict,
quello che passi come argomento ad update).


Alex




More information about the Python mailing list