Я бы столкнулся с тонкой ошибкой в задействованном скрипте Python. В основном то, что пошло не так, выглядит так
def inc(x):
return x+1
a = 1
b = 2
c = 3
for x in [a,b]:
print(id(x), id(a), id(b))
for x in [a,b]:
x = inc(x)
c = inc(c)
print(a,b,c)
Как показывает первый цикл for, итератор x получает ссылку на текущую переменную. Тем не менее, когда мы присваиваем значение этому итератору, переменная pointee(referencee) не меняется. Я действительно не ожидал такого поведения, это не питон, не так ли? Может ли кто-нибудь пролить свет на это?
a
иb
не изменяемы, поэтому вы не можете их изменить. Даже если вы измените ничего не произойдет - person deadshot   schedule 15.10.2020