任何人都可以向我解释此 python 代码中提到的一行的工作原理吗?

Can anyone explain me the working of a line mentioned in this python code?

请从下面的代码中解释这一行。 num_to_match = sorted(set(grades.values()))[1]

N = int(raw_input())

students = []
for i in range(2*N):
    students.append(raw_input().split())
grades = {}
for j in range(0, len(students), 2):
    grades[students[j][0]] = float(students[j + 1][0])
result = []
num_to_match = sorted(set(grades.values()))[1]
for pupil in grades.keys():
    if grades[pupil] == num_to_match:
        result.append(pupil)
for k in sorted(result):
    print k

您可以按如下方式换行以充分理解它:num_to_match = sorted(set(grades.values()))[1]

grades.values() - returns 来自字典的值列表 grades

set(grades.values()) - 通过将列表转换为集合来删除重复条目

sorted(set(grades.values())) - returns 上面得到的排序集合

sorted(set(grades.values()))[1] - 从已排序的项目列表中选取第二个元素。