任何人都可以向我解释此 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]
- 从已排序的项目列表中选取第二个元素。
请从下面的代码中解释这一行。 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]
- 从已排序的项目列表中选取第二个元素。