J'utilise actuellement la méthode ci-dessous pour définir un dictionnaire multidimensionnel en python. Ma question est la suivante: est-ce la façon préférée de définir les dicts multidimensionnels?Meilleure façon de définir des dictionnaires multidimensionnels en python?
from collections import defaultdict
def site_struct():
return defaultdict(board_struct)
def board_struct():
return defaultdict(user_struct)
def user_struct():
return dict(pageviews=0,username='',comments=0)
userdict = defaultdict(site_struct)
pour obtenir la structure suivante:
userdict['site1']['board1']['username'] = 'tommy'
J'utilise également ce pour incrémenter des compteurs à la volée pour un utilisateur sans avoir à vérifier si une clé existe ou est réglé sur 0 déjà. E.g .:
userdict['site1']['board1']['username']['pageviews'] += 1
ce code n'exécutera pas l'interpréteur in python. cela rend difficile de comprendre ce que vous essayez de faire. – krumpelstiltskin