У меня есть некоторый код:Почему я получаю этот вывод? (Python, ссылка равенство)
first = ['a','b']
second = first
second.append('c')
print('Test results: ',first == second, first is second)
который возвращает Test results: True True
. Я ожидал получить False False
. Я подумал, что, поскольку second.append('c')
путем добавления 'c'
, две переменные хранятся различные объекты - это означает first = ['a','b']
и second = ['a','b','c']
Почему я получаю True True
?
Вы хотите 'second = first [:]' как копию. – squiguy
Возможный дубликат [Как клонировать или копировать список в Python?] (Http://stackoverflow.com/questions/2612802/how-to-clone-or-copy-a-list-in-python) – squiguy
@squiguy Спасибо за предложение, однако я не хочу изменять свой код, я просто пытаюсь понять какое-то понимание всей вещи равенства. – ASm