Недавно я очищал некоторые данные, и меня поразила только одна вещь.Простой пример:
test_list1 = [[1,2,3,4,5], [1,2,3,4,5]]
for x in test_list1:
for y in range(0, len(x)):
x[y] = 0
print(test_list1)
-> [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
Однако, если я попробую следующее, я получу другой результат:
test_list2 = [1,2,3,4,5]
for x in test_list2:
x = 0
print(test_list2)
-> [1, 2, 3, 4, 5]
Мне кажется довольно странным, что в test_list1 я смог изменитьзначения в его подсписках без фактической ссылки на test_list1.Почему значения в test_list1 изменились только при запуске цикла, если я не указал явно, что test_list1 [0] [0] = 0 и так далее?В test_list2 это было невозможно.
Заранее спасибо