python中的列表赋值可通过切片实现,如下:
a = [0,1,2,3,4,5,6]
b = a
a is b # True
a[1:3] = [2]
print(a) # [0, 2, 3, 4, 5, 6]
print(b) # [0, 2, 3, 4, 5, 6]
a is b # True
用[2]
给列表a
赋值,列表会自动改变大小,并且不会新生成列表,而是在原地址上进行修改,所以列表b
也会受到影响。
但是赋值时需要注意,等式右边不能以数值的方式出现,不然会报错,如下
a[1:3] = 2
# Traceback (most recent call last):
# File "<stdin>", line 1, in <module>
# TypeError: can only assign an iterable