【发布时间】:2012-10-30 20:00:22
【问题描述】:
我想我想制作一个每个值有多个键的二维字典。
我知道如何使用defaultdict 制作二维字典:
from collections import defaultdict
2d_dict = defaultdict(dict)
2d_dict['canned_food']['spam'] = 'delicious'
而且我知道使用常规字典可以使用多个键,例如:
dictionary={('food','canned_food'):spam}
但我想做一些类似 tuple-of-keys 的查找:
2d_dict[('canned_food','food')]['spam'] = 'delicious'
在字典的第一维中,每个值我需要约 25 个键。有没有办法用defaultdict 做到这一点?
即使有办法用 dicts 来做,这是制作简单多维查找表的合理方法吗?
【问题讨论】:
-
datascience.stackexchange.com/questions/49529/… 有人可以回答这个问题:
-
(@KHANirfan:你必须显示标题,否则没有人会知道这是一个相关链接,并可能错误地认为你的评论是垃圾邮件)
-
严格来说,这个问题是在问“创建和查找 2D 字典其键是键元组”。这不仅仅是将一个 tuple-of-keys 传递给一个 create 函数,这就是它乍一看的样子......
-
...而且你想要 order-independent lookup (好像键是 set/frozenset,而不是元组):
twod_dict[('canned_food','food')]是相反的顺序到您创建的内容。
标签: python dictionary nested key defaultdict