Python 输入一组数据,对其中偶数下标的元素进行降序排列,奇数下标的元素不变,并输出排列后的列表

例如:

输入 3 5 12 67 32 71

输出【32,5,12,67,3,71】

最简单的方式代码如下:{如果对你有帮助,可以给我个采纳吗,谢谢!! 点击我这个回答右上方的【采纳】按钮}。

m = input("输入一组列表(以空格分隔):").split(" ")
li = [int(x) for x in m]
li[0::2] = sorted(li[0::2],reverse=True)
print(li)

先将下标为偶数的元素用li[0::2]切片取出组成新列表,

倒序排序之后再重新赋值回下标为偶数元素的切片li[0::2]的各个位置中。

 

 


            •  
            import random
            
            list=[]
            for i in range(20):
                t=random.randint(1,100)#1-99
                list.append(t)
             
            print(list)
            list_Ou=[]
            for i in range(20):
                if(i%2==0):
                    list_Ou.append(list[i])
            print(list_Ou)
            list_Ou=sorted(list_Ou,reverse=True)
            print(list_Ou)
             
            count=0
            for i in range(20):
                if(i%2==0):
                    list[i]=list_Ou[count]
                    count+=1
             
            print(list)

             

            a = [3,5,12,67,32,71]
            c = sorted([a[n] for n in range(0,len(a),2)],reverse=True)
            for i in range(0,len(a),2):
                a[i] = c[int(i/2)]    
            print(a)
            

            从原列表中,取出下标为偶数的元素组成新元素并倒序排序

            对原列表进行偶数下标元素进行遍历,并替换为排序后对应的元素

            输出结果

            您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

            如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

            ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m