Я сохраняю «haystack» во временной переменной, но когда я изменяю «haystack», меняется и временная переменная. Зачем? Помоги пожалуйста? это нормально? в PHP у меня не было этой проблемы.Как использовать временную переменную в Python 2.7 - memory
# -*- coding:utf-8 -*-
haystack = [1,'Two',3]
tempList = haystack
print 'TempList='
print tempList
iterable = 'hello'
haystack.extend(iterable)
print 'TempList='
print tempList
Вернуться в консоли
TempList=
[1, 'Two', 3]
TempList=
[1, 'Two', 3, 'h', 'e', 'l', 'l', 'o']
Но я не изменил переменную 'TempList'.
Помогите, пожалуйста. Спасибо.
Хорошее объяснение. Альтернативой является просто не использовать методы mutating - вместо 'haystack.extend (iterable)' do 'haystack = haystack + list (iterable)' (или 'haystack = itertools.chain (haystack, iterable)', если вы этого не сделаете нужен список). – abarnert