Se è fissato l'importo di nidificazione è necessario, collections.defaultdict
è meraviglioso.
ad es. nidificazione due profonde:
myhash = collections.defaultdict(dict)
myhash[1][2] = 3
myhash[1][3] = 13
myhash[2][4] = 9
Se si vuole andare un altro livello di nidificazione, avrete bisogno di fare qualcosa di simile:
myhash = collections.defaultdict(lambda : collections.defaultdict(dict))
myhash[1][2][3] = 4
myhash[1][3][3] = 5
myhash[1][2]['test'] = 6
edit: MizardX sottolinea che siamo in grado di ottenere la piena genericità con un semplice funzione:
import collections
def makehash():
return collections.defaultdict(makehash)
Ora possiamo fare:
myhash = makehash()
myhash[1][2] = 4
myhash[1][3] = 8
myhash[2][5][8] = 17
# etc
fonte
2009-03-16 21:29:44
ahem, infatti l'altro è stato chiesto 5 giorni prima e questi entrambi hanno 4 anni ... –