python - python中的列表赋值

标签 python python-3.x list

我有如下代码,当我打印 list1 和 list2 时,它显示相同的元素,但我在将现有 list1 分配给 list2 之后添加了 9,因此它不应在 list2 中显示 9。

list1=[1,2,3,4]
list2=list1
list1.insert(4,9)
print(list1)
print(list2)

请解开我的疑惑。

最佳答案

在 python 中,变量名是对基础变量的引用list1list2 都引用同一个列表,因此当您将 9 插入该列表时,您会看到两者都发生了变化。如果您希望它们不同,则需要进行显式复制(使用 the copy module、切片符号 list2 = list1[:] 或其他方法)。

关于python - python中的列表赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47986224/

相关文章:

python - 如何在 Python 中将此脚本与此功能集成(Instagram)

python - 如何在 Python 中比较不同的列表并从字典中导出值?

java - 如何设置/获取二维数组列表中的值?

python - 在文本中的特定位置插入字符串

python - 如何获取 lxml.etree 的父标签属性,如 'KEY' 、 'NAME' 、 Python 3.6

java - 将 .txt 文件中的 double 读取到列表中

python - 无法导入 MySQLdb - python - Windows 8.1

python - 如何在 Python 中实现在 Azure Jupyter Notebook 中打开的文件对话框?

python - Django:当用户根本没有填写表单时如何引发异常?

python - 如何在(子)模块中使用 __init__.py 来定义命名空间?