|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- list1 = [3, 2, 1]
- list2 = list1
- list1 =[6,5,4]
- print(list2)
- list1.sort()
- print(list2)
- print(list1)
- [3, 2, 1]
- [3, 2, 1]
- [4, 5, 6]
复制代码
这里为什么list2 = list1 并且 list1 已经重新指定为 6 5 4后第一次输出是 3 2 1 但是在sort后 list2再次输出还是 3 2 1?? 不是应该跟随list1变为4 5 6?
这里可以这样理解:
list1 和 list2 都是一个标签,此时将 list1 标签贴在了列表 [3. 2. 1] 上,即这段代码:
然后我们将 list2 标签贴在 list1 标签所在的列表上 [3, 2, 1],即代码:
这个时候我们打印 list2 ,输出结果毋庸置疑:[3, 2, 1]
接下来继续看下面的代码:
此时 list 2 和 list1 标签都贴在 [3, 2, 1] 列表上,将 list1 的标签重新贴在另一个列表 list2 上:
最后再次打印 list2,因为 list2 还是贴在 [3, 2, 1] 这个列表上所以还是打印该列表,最终两次打印的结果都为 [3, 2, 1]
|
|