#!usr\bin\python3 # -*- coding: utf-8 -*- import random list_1 = [] #生成随机整数列表 for i in range(20): list_1.append(random.randint(0,100)) print('生成的列表为:',list_1) #从首位开始索引下标为偶数位元素 for i in range(0,len(list_1),2): #从上一个偶数位的下一个偶数位元素开始索引 for u in range((i+2),len(list_1),2): #防止索引超出范围 if i < (len(list_1)-2): #比较索引元素大小 if list_1[i] <= list_1[u]: #互换元素位置 list_t = list_1[i] list_1[i] = list_1[u] list_1[u] = list_t print('排序后列表为:',list_1)
import random a = [random.randint(1, 100) for i in range(0,20)] b = [] c = [] d = [] print(a) for i in a: if i % 2 == 0: b.append(i) b.sort(reverse=True) else: d.append(i) m = n = 0 for i in a: if i % 2 == 0: c.append(b[n]) n += 1 else: c.append(d[m]) m += 1 print(c)
import random def main(): """ 编写程序,生成一个包含20个随机整数的列表, 然后对其中偶数下标的元素进行降序排列,奇数下标的元素不变 :return """ start_list = list() for i in range(10): start_list.append(random.randint(0, 100)) print('start_list:', start_list) part_list = start_list[::2] print('part_list:', part_list) part_list.sort(reverse=True) print('sorted_part_list:', part_list) # 1 for i in range(5): if i % 2 == 0: start_list[int(i * 2)] = part_list[i] else: pass # 2 # start_list[::2] = part_list[::] # 3 # i = 0 # for j in range(0,20,2): # start_list[j] = part_list[i] # i += 1 print('result:', start_list) if __name__ == '__main__': main()