В настоящее время я использую метод ниже, чтобы определить многомерный словарь в python. Мой вопрос: является ли это предпочтительным способом определения многомерных dicts?
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)
чтобы получить следующую структуру:
userdict['site1']['board1']['username'] = 'tommy'
Я также использую это, чтобы увеличивать счетчики "на лету" для пользователя без необходимости проверять, существует ли ключ или уже установлен на 0. Например:.
userdict['site1']['board1']['username']['pageviews'] += 1