所以我有两个清单:
score = [350, 914, 569, 223, 947, 284, 567, 333, 697, 245, 227, 785, 120, 794, 343, 773, 293, 995]
name = [Ryan, Stacy, Jenna, Peter, Sophie, Bryan, Cole, Andrea, Emily, Blake, Mike, Stephan, Rob, Eliza, Heather, Daniel, Elisabeth, Samantha]
我必须找到3个最高的分数,并将这些分数与名单上各自的分数进行比对,这样我就可以有新的名单了
top3score = [947, 995, 914]
top3name = [Sophie, Samantha, Stacy]
我正在考虑索引最高的分数,将它们附加到一个列表中,而不是使用索引来将这些分数与名字相吻合。
我的问题是如何索引列表中最高的3个值? 然后,如何使用索引在名称列表中查找记分者的名称,以便将其追加到top3name列表中?
如果你只对前三名感兴趣,有^{} :
从official doc:
性能通知:
我想这样就行了
所以你知道发生了什么:
zip:以iterable作为参数,从每个iterable中提取一个元素,将它们放在元组中。
所以:
sorted:将对数据进行排序。默认情况下,元组元素按0索引中的元素排序,因此在本例中为得分。Reverse=True将首先按降序排序。
最后,
[:3]
是切片表示法,表示从头到尾给我所有元素。这也可以写成[0:3]
相关问题 更多 >
编程相关推荐