Crossin的编程教室

标题: 关于列表赋值的问题 [打印本页]

作者: Youngkuso    时间: 2018-1-16 15:19
标题: 关于列表赋值的问题
当我想要把列表a赋值给b的时候,此时我删掉a[0],为什么b[0]的值也给删掉了?
如果换成将列表a的a[0]赋值给b,此时删掉a[0],此时b的值任然是a[0]的值,求解
  1. a = [1,2,3]
  2. b = a
  3. del a[0]
  4. print a,b
复制代码
此时输出是[2, 3] [2, 3]
  1. a = [1,2,3]
  2. b = a[0]
  3. del a[0]
  4. print a,b
复制代码
此时输出是[2, 3] 1

不太懂原理,大神求解,谢谢!

作者: crossin先生    时间: 2018-1-16 15:36
b = a 不会产生新列表,b就是a

作者: Youngkuso    时间: 2018-1-16 16:17
crossin先生 发表于 2018-1-16 15:36
b = a 不会产生新列表,b就是a

那当b是列表时为什么会同步a的操作呀?




欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5