搜索数组中的前5个最大数字

时间:2019-07-09 08:48:17

标签: python

编写骰子游戏。 我有一个csv文件。 (score.csv)

我已将此文件放入数组。

import csv

with open('score.csv', newline='') as csvfile:
    data = list(csv.reader(csvfile))
print(data)

我想知道如何从中读取前5个最大数字并按顺序打印。

3 个答案:

答案 0 :(得分:0)

举个例子:

data = [1241,19246,273,1204,12948,652,385,21984]

要按顺序获得前5名,我们只需这样做:

print(sorted(data)[-5:])

答案 1 :(得分:0)

另一种可能性是使用heapq软件包。

据我所知,它通常比sorted的性能更好。

from heapq import nlargest

data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(nlargest(5, data)) 

输出为:

[10, 9, 8, 7, 6]

这一切都取决于您要对数据进行什么处理,但是我发现此方法比使用sorted更加干净。

答案 2 :(得分:-1)

将其排序,选择前五名并按顺序打印

label {
    width: 32%;
    padding-left: 22px;
    text-align: left;
    padding-right: 22px;
}