In python3, dict.items()
restituisce un oggetto di tipo dict_items
, che a quanto pare non può essere aggiunto. (in Python 2, è stato restituito uno list
che potrebbe essere aggiunto).
Un modo alternativo per aggiungere un paio di dizionari che funziona su py2k e py3k:
d = dict1.copy()
d.update(dict2)
Naturalmente, c'è una certa ambiguità su ciò che si desidera che accada nel caso di collisioni chiave. per esempio. se entrambi i dicts hanno key1
, di cui key1
deve essere conservato nell'output? O dovresti usare una combinazione di entrambi i loro valori? In quest'ultimo caso, probabilmente si vorrà qualcosa dal modulo collections
(sia defaultdict
o Counter
)
Nota a margine: Se si desidera iterare due dizionari, e sanno di avere chiavi univoche (o non importa se si elabora la stessa chiave due volte), si consideri l'uso di itertools.chain (dict_a, dict_b) – Moberg