本帖最后由 jackz007 于 2022-11-14 09:15 编辑
- ist1 = [1, 3, 2, 9, 7, 8] # list1 指向列表对象 [1, 3, 2, 9, 7, 8]
- list3 = list1 # list3 也指向列表对象 [1, 3, 2, 9, 7, 8],【关键】:list1、list3 指向的是同一个列表对象。
- list3
- [1, 3, 2, 9, 7, 8]
- list1.sort() # 通过 list1 对列表对象 [1, 3, 2, 9, 7, 8] 排序
- list1 # list1 是经过排序的 [1, 3, 2, 9, 7, 8]
- [1, 2, 3, 7, 8, 9]
- list3 # 由于 list1、list3 指向的是同一个列表对象,所以,我们看到的 list3 也是经过排序的 [1, 3, 2, 9, 7, 8]
- [1, 2, 3, 7, 8, 9]
复制代码
list1 和 list3 指向了内存中的同一个列表对象,而不是各自对应一个自己的对象,是理解这道题的关键。
- old = [1,2,3,4,5] # old 指向列表对象 [1,2,3,4,5]
- new = old # new 也指向列表对象 [1,2,3,4,5]
- old = [6] # old 指向了另一个列表对象 [6]
- print(new) # new 依然指向列表对象 [1,2,3,4,5]
复制代码 |