我是python的新手,我想循环一个包含大约20亿条目的字典。使用:
for key,value in edge_dict.items():
但是我失去了内存异常,因为它似乎试图加载整个东西然后循环它们。我有这个问题,如:
for i in range (2000000000)
但我可以轻松地用
替换它们while (i < 2000000000):
i++
解决了这个问题。但是对于字典,我不知道如何在不使用for-in迭代器的情况下检查密钥。 (请注意,键是字符串,值是整数。)
答案 0 :(得分:8)
for key,value in edge_dict.iteritems():
我认为是你想要的
同样如果
for i in range (2000000000)
导致内存错误,您可以使用迭代器
for i in xrange(2000000000)
迭代器(和/或生成器)一次只加载一个项目并在迭代时被消耗...这修复了内存中大型列表可能存在的许多问题