我在下面的代碼中有for循環中的大迭代器的問題。它通過讀取包含數字的字符串列表來生成浮點數。Python溢出錯誤:iter索引太大
def float_generator(tekstowe):
x = ''
for c in tekstowe:
if c != ' ':
x += c
else:
out = float(x)
x = ''
yield(out)
我得到一個「OverflowError:ITER指數過大」。我嘗試使用真正的大數字(比如在搜索文件中的數十億個值)。某種程度上,iter的範圍限制在for循環中?
使用Python 2.7 64位。謝謝。
float(x)'有多大? –
他們是0-255的價值,看起來像這樣隨機: 25.75000000 0.340 22.33333397 0.667。我的意思是這些是4個示例浮游物。 –
答案在這裏https://github.com/python/cpython/blob/efac0438f42e03f0ece269ac8f1616bc6dc2d8bd/Objects/iterobject.c#L57和這裏https://docs.python.org/2/c-api/long.html# c.PyLong_AsSsize_t –