b = [0]
def copyalist(b):
b = [1, 2, 3]
print(b)
copyalist(b)
print(b)
Выходы ниже:
[1, 2, 3]
[0]
Первая строка указывает, что в функции b было установлено значение [1, 2, 3];
Однако, когда вы печатаете (b) вне функции, второй вывод говорит, что b по-прежнему [0].
Я не понимаю, почему внешний b не изменился?
Я также пробовал b = copy.deepcopy ([1, 2, 3]), выходные данные такие же.
Тем не менее, следующий код работает хорошо:
b = [0]
def copyalist(b):
b += [1, 2, 3]
print(b)
copyalist(b)
print(b)
Выводы приведены ниже:
[0, 1, 2, 3]
[0, 1, 2, 3]