Si la quantité de nidification dont vous avez besoin est fixe, collections.defaultdict
est merveilleux.
par exemple nidification deux profonds:
myhash = collections.defaultdict(dict)
myhash[1][2] = 3
myhash[1][3] = 13
myhash[2][4] = 9
Si vous voulez passer à un autre niveau d'imbrication, vous devrez faire quelque chose comme:
myhash = collections.defaultdict(lambda : collections.defaultdict(dict))
myhash[1][2][3] = 4
myhash[1][3][3] = 5
myhash[1][2]['test'] = 6
edit: MizardX souligne que nous pouvons obtenir toute la généricité avec une simple fonction:
def makehash():
return collections.defaultdict(makehash)
Maintenant nous pouvons faire:
myhash = makehash()
myhash[1][2] = 4
myhash[1][3] = 8
myhash[2][5][8] = 17
# etc