На последней итерации i
, range(i+1, len(X))
будет пустым списком, поэтому код не будет выполняться, а ans_1
и ans_2
не существует при вызове ans_tuple = (ans_1, ans_2, min_pvalue)
. Поэтому вы должны оценить свои внешние и внутренние циклы, чтобы увидеть, получаете ли вы ожидаемое количество итераций.
Этот пример показывает концептуально, что происходит.
for i in range(0, len(X)):
print(list(range(i+1, len(X))))
=== Output: ===
[1, 2, 3, 4]
[2, 3, 4]
[3, 4]
[4]
[]