随机整数列表处理:偶数索引降序排序
题目:生成一个包含20个随机整数(100以内的整数)的列表,对其偶数索引(下标)的数据进行降序排序,奇数索引(下标)的元素不变。
问题理解
我们需要完成以下任务:
- 生成一个包含20个100以内的随机整数的列表
- 对这个列表的偶数索引(0, 2, 4,...)位置的元素进行降序排序
- 奇数索引(1, 3, 5,...)位置的元素保持不变
解题思路分解
第一步:生成随机列表
使用Python的random
模块生成20个100以内的随机整数。
第二步:分离偶数索引和奇数索引元素
列表切片:
list[start:end:step]
语法可以方便地获取间隔元素random_list[::2]
获取所有偶数索引元素random_list[1::2]
获取所有奇数索引元素
第三步:对偶数索引元素降序排序
排序函数:
sorted(list)
返回一个新的排序后的列表reverse=True
参数实现降序排序
import random
x_list = [random.randint(0,100) for i in range(20)]print('原本的x_list是{}'.format(x_list))x_list[::2] = sorted(x_list[::2], reverse= True)
print('改变后的x_list{}'.format(x_list))