我有一个列表,ls = [0 1 2 3 4]我正在运行以下内容:
print(ls is ls[:])
Run Code Online (Sandbox Code Playgroud)
我得到的输出为False.为什么他们不是同一个名单?当我打印两个版本时,我会打印相同的列表.
ls在内存中引用一个对象; 使用第一个中包含的相同引用ls[:]创建一个新 list对象.
>>> ls = [0, 1, 2, 3, 4]
>>> new_ls = ls[:]
>>> id(ls) == id(new_ls)
False
>>> id(ls[0]) == id(new_ls[0])
True
Run Code Online (Sandbox Code Playgroud)