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

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

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

因此,如果输入为students = [[‘Amal’, 37],[‘Bimal’, 37],[‘Tarun’, 36],[‘Akash’, 41],[‘Himadri’,39], 那么输出将是Amal、Bimal都有第二低的得分37,它们按字母顺序排序。

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

  • min_mark:对于所有x在students中的分数的最小值
  • students:为所有分数>min_mark的学生x的学生列表
  • min2_mark:对于所有x在students中的分数的最小值
  • students:按字母顺序排序列表[与x的分数相同的名称的x的所有x]
  • 对于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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程