Python 程序显示嵌套列表中所有第二低成绩的学生姓名

pythonserver side programmingprogramming更新于 2025/12/18 21:00:17

假设我们在一个嵌套列表中有每个学生的姓名和成绩,我们必须显示成绩第二低的学生的姓名。如果有多个学生的成绩排名第二低,则按字母顺序重新排列这些学生,并将每个名字打印在新行上。

因此,如果输入为 students = [['Amal',37],['Bimal',37],['Tarun',36],['Akash',41],['Himadri',39]], 则输出为 Amal、Bimal 的成绩均为第二低 37,按字母顺序排列。

为了解决这个问题,我们将遵循以下步骤 −

  • min_mark := students 中所有 x 的最低分数
  • students := 学生 x 列表 for all x in students if score of > min_mark
  • min2_mark := students 中所有 x 的最低分数
  • students := 对列表进行排序 [如果 x 的分数与学生相同,则对学生中所有 x 的姓名进行排序
  • min2_mark]
  • 对 students 中的每个 x,执行
    • 显示 x

示例

让我们看看下面的实现以便更好地理解

def solve(students):
   min_mark = min(x[1] for x in students)
   students = [x for x in students if x[1] > min_mark]
   min2_mark = min(x[1] for x in students)
   students = sorted([x[0] for x in students if x[1] == min2_mark])
   for x in students:
      print(x)

students = [['Amal',37],['Bimal',37],['Tarun',36],['Akash',41],['Himadri',39]]
solve(students)

输入

[['Amal',37],['Bimal',37],['Tarun',36],['Akash',41],['Himadri',39]]

输出

Amal
Bimal

相关文章


有用资源