【发布时间】:2017-07-30 14:46:38
【问题描述】:
我正在为应用程序建模数据,并决定选择字典作为我的数据结构。但是数据中的每一行都有多个键。所以我创建了一个字典,其中包含映射每一行的多个键,例如:
>>> multiKeyDict = {}
>>> multiKeyDict[('key1','key2','key3')] = 'value1'
>>> multiKeyDict.get(('key1','key2','key3'))
'value1'
现在我必须在 O(1) 时间内用key1 检索所有值。根据我的研究,我知道我可以做到:
- 使用this 包完成工作但不确定是否为O(1)
- 按照此处的建议搜索密钥:https://stackoverflow.com/a/18453567/4085019
我也愿意接受任何更好的数据结构,而不是使用字典。
【问题讨论】:
-
不,没有。
-
您提到的包将键列表映射到相同的值。如果我正确理解您的问题,您是否想要更多某种层次结构?
-
为什么不制作两本词典呢? 1 个人喜欢
{'key1':['value1','value2']}和 1 个人喜欢{'value1':['key1', 'key2']} -
感谢@MartijnPieters。
-
@Chris_Rands 因为值是逗号分隔的长字符串
标签: python dictionary data-modeling