119. 【应-6-2·难】学生列表排序

中等 Python 2s 256MB
通过 0/0

📋 题目描述
给定 N 个学生,每个学生有 `name`、`age`、`grade` 三个属性。请按指定的关键字 KEY 与方向 ORDER 进行**稳定排序**后,依次输出每个学生的 `name age grade`(用空格分隔)。 - KEY 取值:`name` / `age` / `grade` - ORDER 取值:`asc`(升序)/ `desc`(降序) - 同 KEY 值的学生需保持输入顺序(稳定排序)。
📥 输入描述
第一行整数 N(1<=N<=1000)。 接下来 N 行,每行 `name age grade`,三者用空格分隔;name 不含空格,age 与 grade 都是整数。 最后一行 `KEY ORDER`,KEY ∈ {name, age, grade},ORDER ∈ {asc, desc}。
📤 输出描述
N 行,每行 `name age grade`。
输入样例
3
Alice 18 85
Bob 17 90
Carol 19 85
age asc
输出样例
Bob 17 90
Alice 18 85
Carol 19 85
提示:Python 内置 list.sort / sorted 都是稳定排序。 用 key 函数选取 KEY 对应的字段;ORDER=desc 时加 reverse=True 即可。

登录后提交代码

讨论区 0
登录后参与讨论

还没有讨论,来发表第一条吧!