Python 中 = 号可以实现列表赋值吗?
Python 中 = 号可以实现列表赋值吗?
答案是:'错误'。
在 Python 中,使用 = 号对列表进行赋值实际上是进行 浅拷贝。这意味着,新变量只是指向了原列表的内存地址,而不是创建了一个新的列表。
举例说明:
list1 = [1, 2, 3]
list2 = list1
list2[0] = 4
print(list1) # 输出 [4, 2, 3]
print(list2) # 输出 [4, 2, 3]
在这个例子中,list2 = list1 只是将 list2 指向了 list1 的内存地址。当我们修改 list2 的第一个元素时,实际上也修改了 list1 的第一个元素。
如果想要创建完全独立的列表,需要使用列表的复制方法:
list1 = [1, 2, 3]
list2 = list1.copy()
list2[0] = 4
print(list1) # 输出 [1, 2, 3]
print(list2) # 输出 [4, 2, 3]
使用 copy() 方法可以创建新的列表,修改新列表不会影响原列表。
总结:
Python 中 = 号只能实现列表的浅拷贝,如果需要创建独立的列表,需要使用 copy() 方法。
原文地址: https://www.cveoy.top/t/topic/ocuZ 著作权归作者所有。请勿转载和采集!