a= [9,6,4,5]
N = len(a)
for i in range(int(len(a) / 2)):
a[i],a[N-i-1] = a[N-i-1],a[i]
print(a)
a= [9,6,4,5]
N = len(a)
for i in range(int(len(a) / 2)): # range(0, 2),即列表[0,1],
a[i],a[N-i-1] = a[N-i-1],a[i] #值交换,如第一次a[0], a[3]=a[3], a[0]
print(a)
遍历列表前半段,与后半段镜像位置交接值
可以稍作修改为以下代码:
a= [9,6,4,5,1]
N = len(a)
for i in range(len(a)//2):
a[i],a[~i+N] = a[~i+N],a[i]
print(a)
你首先知道range(int(len(a) / 2))这个等价于range(2)
所以后续循环i 的取值是0和1
后面的值交换就是 a[0] 和 a[3] 交换,a[1] 和 a[2]交换
所以最后的结果就是B