Почему в каждой итерации используется цикл for for print 2, если b даже не был определен как заполнитель в объявлении цикла for? - PullRequest
0 голосов
/ 03 июля 2019

Я довольно новичок в python, и я только что узнал о распаковке кортежей, поэтому я поиграл с этой концепцией и получил странный результат.

nList = [(1,2),4,5,6]
for a in nList:
    print(a)
    print(b)

Я ожидал сбоя моей программы, так как bне определен как заполнитель, и даже если это был только первый элемент моего списка, это кортеж, но вместо этого я получил следующий результат:

(1, 2)
2
4
2
5
2
6
2

1 Ответ

0 голосов
/ 03 июля 2019

Вы не инициализировали переменную b в своем коде, из-за чего она использует какое-то мусорное значение b из памяти (которое равно 2). Чтобы избежать таких сценариев, вы должны инициализировать ваши переменные с некоторым значением (или 0) в начале вашего кода перед их использованием.

...