首页 > 解决方案 > 从列表中选择两个最高值,同时记录它们的索引位置?

问题描述

我正在尝试从列表 a 中获取最高和第二高的值。我还需要跟踪每个值的索引值。

例如:

a = [1,2,7,9,3,4]

期望的输出:

maxVal = 9
secondMax = 7 

index_max = 3
index_secondMax = 2

有没有人对如何解决这个问题有任何建议,似乎无法找到一种方法。

标签: pythonlistloopsindexingmax

解决方案


使用sortedlist.index

MaxVal, secondMax = sorted(a)[-2:]
index_max = a.index(MaxVal)
index_secondMax = a.index(secondMax)

推荐阅读