解题思路:
先通过切片,将随机数列表分成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)
运行结果:<