例如,如果我在字典中有数百万条记录,其格式为
{(1,2):3,(2,3):4,(3:2):5...xmillion}
这是一个元组作为键并具有相应的值
我想做的是获取元组[1]的值= 2的数据 我的方法之一是
for item, value in dict.iteritems():
if item[1] == 2:
Do operations here...
这是一个缓慢的方法,有没有更好的算法来做到这一点,以使其快速? 喜欢..所以我不必经历数百万的项目
答案 0 :(得分:1)
在作为键的元组字典中,您必须遍历所有键才能找到
那些key[1] == 2
的人。没有别的办法可以解决这个问题。
答案 1 :(得分:0)
如果你拥有的所有是{(a,b):c}
的字典,那么你就不能做得更好:因为你不知道哪些键有b=2
你有看看所有这些。
如果您自己构建字典,则可以在该阶段将元组与b=2
分开,这样您就不必再次搜索它们。您可以将它们存储在单独的字典中(只是项目{(a,2):c}
),也可以重写您拥有的字典结构(例如{b:{(a,b):c}}
)。