Python 编写程序,使用列表生成表达式生成一个包含20个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇数下标的元素不变。【简单易懂,代码可以直接运行】
个人觉得是所有题中最难搞的一道题,本来想用sort函数直接在院列表上操作,利用lambda表达式改变比较规则key的值,但是发现不行。后来又新开辟了一个列表来写
题目描述:
实验题目:编写程序,使用列表生成表达式生成一个包含20个随机整数的列表,然后对其中偶数下标的元素进行降序排列,奇数下标的元素不变。(提示,使用切片)
点个👍吧,秋梨膏!!!
代码如下:
#列表表达式随机数偶数下标进行排序
import random
if __name__ == '__main__':
# list_num = []
# for i in range(20):
# list_num.append(random.randint(0,100))
list_num = [random.randint(1,100) for i in range(20)]#列表表达式
print("排序前:")
print(list_num)
# print("利用切片取出偶数下标的值:")
# print(list_num[1::2])
lis = list_num[1::2]
lis.sort(reverse=True)
# print("对偶数下标的值进行排序:")
# print(lis)
n = 0
for i in range(20):
if i % 2 == 1:
list_num[i] = lis[n]
n += 1
print("只是对偶数下标排序后:")
print(list_num)
点个👍吧,秋梨膏!!!
运行结果如下:
实验版:
最终版:
点个👍吧,秋梨膏!!!