В общем, недавно шерстил библиотеку random и смотрел как она работает. Всякие randrange, randint и тому подобное.
И решил посмотреть, можно ли изменить значение в массиве с помощью такой конструкции:
from random import randrange
a, b, c = 4, 6, 8
r = [a, b, c]
r[randrange(0, 3)] = 1
По идее, всё должно быть очень просто: одна переменная из списка [a, b, c] станет единицей.
Однако! Этот код:
print(r)
print(a, b, c)
Выводит:
[4, 1, 8] # Ну или другое число
4, 6, 8
Почему так происходит? В массиве что, создаются свои локальные переменные или как?
И ещё, как можно обратиться к этой изменённой переменной? Причём без использования индексов.
r[r.index(a)] не работает, я проверял.