两种赋值方法最后的结果是不一样的
1.切片处理:把全新的列表赋予新变量了 ,新旧变量操作各不影响
语法: A = B[:]
例:
Question:
[MCQ] What are the final values of ‘a’ and ‘b’ in the code below?
>>> a = [4, 5, 6 ]
>>> b = a[:]
>>> b[0] = 1
>>> a[2] = 3
1.a = [1, 5, 3]
b = [1, 5, 3]
2.a = [4, 5, 6]
b = [1, 5, 6]
3.a = [4, 5, 3]
b = [4, 5, 6]
4.a = [4, 5, 3]
b = [1, 5, 6]
5.a = [4, 5, 6]
b = [4, 5, 6]
answer: 4
2.“=" 赋值:这种语法实际上是将新变量关联到旧变量的列表中,即两个变量名都指向同一个列表,对任一变量进行操作都会影响变量
语法: A = B
例:
Question:
[MCQ] What are the final values of ‘a’ and ‘b’ in the code below?
>>> a = [4, 5, 6 ]
>>> b = a
>>> b[0] = 1
>>> a[2] = 3
1.a = [1, 5, 3]
b = [1, 5, 3]
2.a = [4, 5, 6]
b = [1, 5, 6]
3.a = [4, 5, 3]
b = [4, 5, 6]
4.a = [4, 5, 3]
b = [1, 5, 6]
5.a = [4, 5, 6]
b = [4, 5, 6]
answer:1