python列表:生成一个包含20个随机数的列表,然后对其中偶数下标的元素进行降序排列,奇数下降的元素不变。

解题思路:

        先通过切片,将随机数列表分成a=sorted(x[0::2]),b=x[1::2]两个子列表。再通过两层for循环,每次逐一向空列表c中添加元素,再第二层循环中通过break达到添加一个元素就退出的目的。

问题代码:  

​
import random
x=[random.randint(1,100) for i in range(20)]        #生成20个随机数列表
print("排序前:",x)
a=sorted(x[0::2])
print("偶数下标:",a)
b=(x[1::2])
print("奇数下标:",b)
c=[]                                                #创建空列表用来存放排序后的列表

for i in a:
    c.append(i)                                     #将i添加到列表c末尾
    a.remove(i)                                     #防止重复遍历,从a中删除c
    for j in b:
        c.append(j)                                 #同上
        b.remove(j)
        break                                       #直接结束本轮循环

print("排序后",c)

​

运行结果:<

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值