谁能解释一下这个python代码中提到的一行的工作原理?

Posted

技术标签:

【中文标题】谁能解释一下这个python代码中提到的一行的工作原理?【英文标题】:Can anyone explain me the working of a line mentioned in this python code? 【发布时间】:2021-04-29 04:19:17 【问题描述】:

请从下面的代码中解释这一行。 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

【问题讨论】:

你有什么不明白的地方? “请向我解释 [工作,由其他人编写的] 代码”问题对 Stack Overflow 不利,因为我们无法读懂您的想法以知道要解释什么。 【参考方案1】:

你可以如下换行来充分理解:num_to_match = sorted(set(grades.values()))[1]

grades.values() - 从字典 grades 返回值列表

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

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

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

【讨论】:

以上是关于谁能解释一下这个python代码中提到的一行的工作原理?的主要内容,如果未能解决你的问题,请参考以下文章

谁能解释一下这个java代码是如何工作的?

谁能解释一下为啥这个 android 布局不工作并且在活动启动后立即使活动崩溃

有谁能解释一下这个 boost create_thread 行吗?

谁能帮我解释一下Dreamweaver中的CSS的display属性的none、block、inline等都用在啥场合?

next() 在这个 python 代码中是如何工作的

谁能解释这个除法算法是如何工作的?