python - 不懂python pop altering multiple variables

标签 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: []

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

最佳答案

Python 中的一切都是引用。它们是相同的列表。

altList = origList[:]

关于python - 不懂python pop altering multiple variables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4465496/

相关文章:

c# - 使用 LINQ 的两个列表的交集

python - 使用 Python 在循环中生成列表组合

python - 如何在 Python 中的多个 while 语句之间切换

python - 创建字典,其中键来自列表,值是另一个列表中相应元素的总和

Python Audio Tools 安装问题

python - 为什么我收到 AlreadyExistsError?

Android:SectionIndexer 的自定义 View 布局和动态禁用 SectionIndexer

python - 使用元组索引列表如何工作?

Python:单链接聚类算法

python - 如何从 Django 的复选框中获取值数组