Python Language Dizionario con valori predefiniti


Esempio

Disponibile nella libreria standard come defaultdict

from collections import defaultdict

d = defaultdict(int)
d['key']                         # 0
d['key'] = 5
d['key']                         # 5

d = defaultdict(lambda: 'empty')
d['key']                         # 'empty'
d['key'] = 'full'
d['key']                         # 'full'

[*] In alternativa, se devi utilizzare la classe dict incorporata, l' using dict.setdefault() ti consente di creare un valore predefinito ogni volta che accedi a una chiave che non esisteva prima:

>>> d = {}
{}
>>> d.setdefault('Another_key', []).append("This worked!")
>>> d
{'Another_key': ['This worked!']}

Tieni presente che se hai molti valori da aggiungere, dict.setdefault() creerà una nuova istanza del valore iniziale (in questo esempio a [] ) ogni volta che viene chiamato, il che potrebbe creare carichi di lavoro non necessari.

[*] Python Cookbook, 3a edizione, di David Beazley e Brian K. Jones (O'Reilly). Copyright 2013 David Beazley e Brian Jones, 978-1-449-34037-7.