gpt4 book ai didi

python - 如何在 Python 列表中找到第 1、2、3 个最高值

转载 作者:太空狗 更新时间:2023-10-29 21:42:41 25 4
gpt4 key购买 nike

我知道如何找到第一个最高值,但不知道其余值。请记住,我需要打印第一个、第二个和第三个最高值的位置。谢谢并尽量保持简单,因为我只编码了 2 个月。他们也可以是联合行列

def linearSearch(Fscore_list):
pos_list = []
target = (max(Fscore_list))
for i in range(len(Fscore_list)):
if Fscore_list[i] >= target:
pos_list.append(i)


return pos_list

最佳答案

这将创建一个包含 3 个最大项的列表,以及一个包含相应索引的列表:

lst = [9,7,43,2,4,7,8,5,4]
values = []
values = zip(*sorted( [(x,i) for (i,x) in enumerate(f_test)],
reverse=True )[:3] )[0]
posns = []
posns = zip(*sorted( [(x,i) for (i,x) in enumerate(f_test)],
reverse=True )[:3] )[1]

如果同一个值可以出现多次(这将显示一个值的最高位置),事情会有点复杂:

lst = [9,7,43,2,4,7,8,5,4]
ranks = sorted( [(x,i) for (i,x) in enumerate(lst)], reverse=True
)
values = []

for x,i in ranks:
if x not in values:
values.append( x )
posns.append( i )
if len(values) == 3:
break
print zip( values, posns )

关于python - 如何在 Python 列表中找到第 1、2、3 个最高值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32296887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com