哪位可以看一下,怎么能让列表下标为偶数的升序,下标为奇数的降序。

img


哪位可以看一下,怎么能让列表下标为偶数的升序,下标为奇数的降序。


a=[9,7,8,3,2,1,5,6]
a.sort()#全变为升序
d = a[1::2]#奇数部分
d.sort(reverse=True)
n=1
#循环奇数下标
for i in range(1,len(a),2):
    a[i]=d[i-n]
    n +=1
print(a)

分成2个列表, 分别排序后,再组合回来。


s = [9, 7, 8, 3, 2, 1, 5, 6]
# 偶数位
s[::2] = sorted(s[::2])
# 奇数位
s[1::2] = sorted(s[1::2], reverse=True)
print(s)