m0_59205282
2021-06-17 20:13
采纳率: 100%
浏览 73

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

例如:

输入 3 5 12 67 32 71

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 已采纳

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

    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]的各个位置中。

     

     


              •  
              点赞 打赏 评论
            • CSDN专家-张老师 2021-06-17 20:14
              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)
              点赞 1 打赏 评论
            • CSDN专家-文盲老顾 2021-06-17 20:45
              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)
              

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

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

              输出结果

              点赞 打赏 评论
            • 有问必答小助手 2021-06-18 19:03

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

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

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

              点赞 打赏 评论

            相关推荐 更多相似问题