我目前正在使用下面的方法在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)
得到以下结构:
userdict['site1']['board1']['username'] = 'tommy'
我还使用它为用户动态增加计数器,而无需检查键是否存在或是否已设置为 0。例如:
userdict['site1']['board1']['username']['pageviews'] += 1
最佳答案
元组是可散列的。可能我错过了重点,但你为什么不使用标准字典,约定键是三元组呢?例如:
userdict = {}
userdict[('site1', 'board1', 'username')] = 'tommy'
关于python - 在python中定义多维字典的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2388302/