对复制操作感到困惑

时间:2019-02-04 11:24:18

标签: python copy

我知道.copy()可以直接返回x的浅表副本,并且如果我更改原始变量,我复制的变量将保持原始状态。

但是我注意到,如果我有一个嵌套列表,并且更改了嵌套列表中的一项,复制的变量也会被更改吗?

student_info = [['John', 'Doe'], 22, 'M', 'NTU']   
enrolled = student_info.copy()
print(student_info)
print(enrolled)

student_info[0][0] = 'Jack'
student_info[0][1] = 'Sparrow'
student_info[-1] = 'Black Pearl'

print(student_info)
print(enrolled)

如果我在更改项目后print(enrolled),是否不应该将其保留为原始的[['John', 'Doe'], 22, 'M', 'NTU']

相反,我得到[['Jack', 'Sparrow'], 22, 'M', 'NTU']并且'Black Pearl'的注册没有更改。

0 个答案:

没有答案