python之升序降序排列

本文介绍如何对包含学号和成绩的Python列表进行排序,要求学号升序,相同学号时成绩降序。通过将列表元素打包、排序后再逐个输出覆盖原列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.贴题

题目来自大学计算机–Python算法实践(东北大学)
考试


初始化如下列表
alist = [20170123, 61, 20170233, 97, 20170123, 72, 20170233, 65, 20170110, 97]
该列表中下标为偶数的元素表示某个学生的学号,其后紧跟着的下标为奇数的元素表示该学生某门课程的成绩。
编程对该列表进行重新排序。(不限制使用函数或列表方法)
要求:
1、保持一个学号紧跟着一个成绩的数据格式不变
2、以学号按升序排列,当学号相同时,以成绩按降序排列


2.说明

思路如下
1. 将列表以(学号,成绩)的形式打包添加到新列表
2. 将新列表以先按学号升序,再按成绩降序排序
3. 将排序后的新列表再按逐个元素输出的方式覆盖输出到alist

3.参考代码

blist = [] #构建新的空列表blist
for i in range(len(alist)): #遍历alist的下标
    if i % 2 == 0: 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值