Python,从一个由关键值组成的字典中提取信息,其值为3元组

时间:2014-03-25 23:26:28

标签: python dictionary

我有一个MapReduce程序,它将计算结果作为dict返回,如下所示:

{'pods': (54802L, 25417L, 59877L), 'sash': (160573L, 97199L, 178836L), ...}

我正在尝试提取此字典中的项目以使用3元组中的值,但在尝试解析下面显示的代码中的错误时,我一直收到错误KeyError: 0在这一行key, indicies = results[i]

bloomFilter = [False] * 200000
for i in range(0, len(results)):
    key, indicies = results[i]
    bloomFilter[indicies[1]] = True
    bloomFilter[indicies[2]] = True
    bloomFilter[indicies[3]] = True

从dict中提取信息的正确方法是什么,以便我可以利用3元组中的值?

另外,我可以使用L值作为数组中的指示,还是需要将它们转换为整数?

1 个答案:

答案 0 :(得分:1)

我会像这样迭代results字典:

for key in results:
    indices = results[key]
    bloomFilter[indices[0]] = True
    bloomFilter[indices[1]] = True
    bloomFilter[indices[2]] = True

另请注意,indices元组是零索引的,这意味着您需要提取以零(而不是一个)开头的值,如上面的代码所示。