不明白python pop改变多个变量

gar*_*ren 2 python list

我确信这是一件我忽略的简单事情,但我希望有人可以向我解释以下内容:

origList = [1, 2, 3, 4, 5, 6, 7, 8]
def test(inputList):
    while range(len(inputList)):
        inputList.pop()
altList = origList
test(altList)
print 'origList:', origList # prints origList: []
print 'altList:', altList # prints origList: []
Run Code Online (Sandbox Code Playgroud)

我以为我理解了list.pop(),但是我不明白为什么原来的列表被修改,如果我只是'弹出'备用列表的元素...

Ign*_*ams 7

Python中的所有内容都是参考.他们是同一个名单.

altList = origList[:]
Run Code Online (Sandbox Code Playgroud)

  • @garen:别忘了选择你认为最合适的答案. (2认同)