Прежде всего, я бы отсортировал оценки по возрастанию:
>>> students = [['Harry', 37.21], ['Berry', 37.21], ['Tina', 37.2], ['Akriti', 41], ['Harsh', 39]]
>>> grades = sorted(set(g for _, g in students))
>>> grades
[37.2, 37.21, 39, 41]
Строка set(g for _, g in students)
извлекает оценки и удаляет дубликаты (set
).
Затем возьмите второй элемент списка, который является вторым самым низким классом:
>>> second_lowest_grade = grades[1]
>>> second_lowest_grade
37.21
И затем l oop для упорядоченных имен (в алфавитном порядке) для учащихся, имеющих второй младший класс:
>>> for name in sorted(n for n, g in students if g == second_lowest_grade):
... print(name)
...
Berry
Harry