Python切片问题 这里怎么理解啊 等号右边不懂

img


aList=[0,1,2,3,4,5,6,7,8,9]

a=[0]*(len(aList)//2)  
#等价于
a = [0]*5
print(a)

打印结果是
[0, 0, 0, 0, 0]
# =========
aList[::2]=[0]*(len(aList)//2)
#表示的是把aList列表的第0,2,4,6,8个数字全部都换成0

list[start:end:step]
等号左边指向list的偶数位置,如

>>> list1=[0,1,2,3,4,5,6,7,8,9]
>>> list1[::2]
[0, 2, 4, 6, 8]

等号右边则是根据list1的长度,生成列表[0, 0, 0, 0, 0]
这是Python的语法,如:

>>> [0]*5
[0, 0, 0, 0, 0]