Может кто-нибудь объяснить мне, почему первый блок кода не меняет список, но второй делает.
a = [1,2,3]
for el in a:
el += 5
Это оставляет a
как [1,2,3]
. Тем не менее, если я запустил
a = [1,2,3]
for i in range(len(a)):
a[i] += 5
затем a = [6,7,8]
. Я предполагаю, что в первом случае при циклировании элементов el
есть временная переменная, а не на самом деле вещь, которая ссылается на этот элемент в списке. Не уверен, почему приращение этого не влияет на список.