q0
имеет len
меньше 488
.Когда у вас zip
, r_pos_coord
длина len меньше 488. В какой-то момент в вашем цикле есть ошибка индекса.Вы, вероятно, хотите иметь фиксированную длину, чтобы не иметь этого непредсказуемого поведения
Посмотрите на MCVE
a = [1, 2, 3, 4]
b = [10,20,30]
list(zip(a,b))
yield
[(1,10), (2, 20), (3, 30)]
Теперь предположим, что вы хотите сжать zipна основе самого длинного len
обоих массивов.itertools
имеет приятную функцию для этого
import itertools as it
list(it.zip_longest(a,b))
дает
[(1, 10), (2, 20), (3, 30), (4, None)]
Для фиксированных списков 488
длины, сжатых с переменными файлами IO out.txt
, zip_longest
это, вероятно, путь.