119. 【应-6-2·难】学生列表排序
中等
Python
📋 题目描述
给定 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 即可。
请登录后提交代码