我不理解的列表理解示例

时间:2019-01-20 20:28:14

标签: python python-3.x list list-comprehension

我无法理解特定的列表理解示例。在下面的示例代码中,列表理解用于set方法的参数。我见过的大多数示例通常看起来像这样“ x表示y中的x”。我已经阅读了文档,但并没有为我解决。 [名称标记]到底在做什么。应该不是[marks for marks]吗?

marksheet = []
for _ in range(0,int(input())):
    marksheet.append([input(), float(input())])

second_highest = sorted(list(set([marks for name, marks in marksheet])))[1]
print('\n'.join([a for a,b in sorted(marksheet) if b == second_highest]))

1 个答案:

答案 0 :(得分:0)

您的代码正在使用Python的列表理解功能,根据条件从另一个列表创建一个列表。

在此处查看有关列表理解的更多信息: https://www.programiz.com/python-programming/list-comprehension

@PostMapping("app/handleForm") public String RHTraiterDemande(Model m, MyClass myClass) { entity1Service.add(myClass.entity1); entity2Service.add(myClass.entity2); return "showResults"; } 正在访问排序列表的索引1(第二项)上的项。

对于[1],正在打印排序列表中的每一行,并在每一行之间添加换行符(.join)。