Почему цикл for пропускает элемент в моем списке?
У меня есть список целых чисел, которые я запускаю черезfor
Цикл, чтобы определить, равны ли два элемента вместе другой переменнойt
, Так что еслиt
был равен10
и у меня был список интерхеров:l = [1,2,3,4,5,8,9]
, то функция должна печатать все разные комбинации чисел(1,9)
, (2,8)
.
Я чувствую, что почти у цели, но что-то странное происходит со списком, когда.pop()
функция. Код ниже используется для отображения всех комбинаций чисел, которые необходимо вычислить, но все остальные элементы в списке пропускаются.
l = [1,2,5,8,13,15,26,38]
c = 10
for i in l:
first = i
l.pop(0)
for x in l:
second = x
print(first,second)
Вот вывод:
1 2
1 5
1 8
1 13
1 15
1 26
1 38
5 5
5 8
5 13
5 15
5 26
5 38
13 8
13 13
13 15
13 26
13 38
26 13
26 15
26 26
26 38
Обратите внимание, как2
, 8
, 15
, а также38
пропущены я используюl.pop
так что второйfor
Цикл не будет использовать исходное значение, и следующая итерация может затем перейти к следующему элементу в списке.