我想我想做一个二维字典,每个值有多个键。
我知道如何使用defaultdict
制作二维词典:
from collections import defaultdict
2d_dict = defaultdict(dict)
2d_dict['canned_food']['spam'] = 'delicious'
我知道,使用普通字典,你可以用多个键制作,比如:
dictionary={('food','canned_food'):spam}
但我想做一些类似于按元组键查找的事情:
2d_dict[('canned_food','food')]['spam'] = 'delicious'
在字典的第一个维度中,每个值需要大约25个键。有没有办法用defaultdict
来实现这一点?
即使有一种方法可以使用dicts,这是一种制作简单多维查找表的合理方法吗?
除了
2d_dict
是无效的变量名(以数字开头)之外,现有的解决方案已经可以工作:事实上,您甚至不需要括号-Python仍然会将您的键识别为元组:
。。。而且,是的,这是构建2D+1D查找表的一种非常合理的方法。
如果要使用嵌套的dict而不是元组键构建三维查找表,则此操作有效:
相关问题 更多 >
编程相关推荐