我有一个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
值作为数组中的指示,还是需要将它们转换为整数?
答案 0 :(得分:1)
我会像这样迭代results
字典:
for key in results:
indices = results[key]
bloomFilter[indices[0]] = True
bloomFilter[indices[1]] = True
bloomFilter[indices[2]] = True
另请注意,indices
元组是零索引的,这意味着您需要提取以零(而不是一个)开头的值,如上面的代码所示。