У меня проблема с большим итератором для цикла в коде ниже. Он генерирует float, читая список строк, содержащий числа.Ошибка переполнения Python: слишком большой индекс iter
def float_generator(tekstowe):
x = ''
for c in tekstowe:
if c != ' ':
x += c
else:
out = float(x)
x = ''
yield(out)
Я получаю "OverflowError: ИТЭР индекс слишком велик". Я пытаюсь использовать действительно большие итерационные числа (например, миллиарды значений в искомом файле). Является ли его диапазон как-то ограниченным для циклов?
Использование Python 2.7 64 бит. Благодарю.
Насколько велика 'float (x)' get? –
Они оценены в 0-255 и выглядят немного случайными: 25.75000000 0.340 22.33333397 0.667. Я имею в виду, что это 4 примера float. –
Ответ здесь: https://github.com/python/cpython/blob/efac0438f42e03f0ece269ac8f1616bc6dc2d8bd/Objects/iterobject.c#L57 и здесь https://docs.python.org/2/c-api/long.html# c.PyLong_AsSsize_t –