x=[1,2,3,4]
y=x
y[0]=5
print(x)
print(y)
为什么令y【0】=5后x[0]也=5了呢?
x=[1,2,3,4]
y=x
y[0]=5
print(x)
print(y)
为什么令y【0】=5后x[0]也=5了呢?
python中的变量赋值声明并不会复制一份元数据,而是创建了一个新的引用指向同一份数据,
类似java的引用和C++的指针,所以改变y中数据会影响x。
要实现x和y互不影响,可以使用:
1. y = x[:]
2. y = list(x)
3. y = copy.copy(x)
4. y = copy.deepcopy(x)