索引的最大列表

时间:2017-11-02 00:08:24

标签: python list

我的名单是:

ptotal: [13545.75, 13009.5, 13009.5, 13009.500000000002]

backk1: [0, 11.5, 25.8, 39.0, 39.0, 39.0, 25.8, 11.5, 0, 11.5, 25.8, 39.0, 39.0, 0, 24.8, 24.7, 24.7, 24.7, 0, 24.7, 24.7, 24.7, 39.0, 39.0, 39.0]

我想找到list" ptotal"的最大值。列表中的相应值" backk1"。我有以下鳕鱼作为我整个计划的一部分。它不好用。你能帮我吗?

ptotalfinal=max(ptotal) 

ptotalindex= max(enumerate(ptotal),key=lambda x: x[1])[0]
etaunk1max= (x in enumerate(zip(backetaunk1, ptotal),key=lambda x: x[1]))

2 个答案:

答案 0 :(得分:0)

这是我在列表中查找max索引的建议,因为它只在列表上迭代一次,也许有人需要将其转换为C代码并建议Python devs

def max_index(l):
    mx = float("-inf")
    idx = None
    for i,e in enumerate(l):
        if e > mx:
            mx = e
            idx = i
    return idx

ptotal = [13545.75, 13009.5, 13009.5, 13009.500000000002]
backk1 = [0, 11.5, 25.8, 39.0, 39.0, 39.0, 25.8, 11.5, 0, 11.5, 25.8, 39.0, 39.0, 0, 24.8, 24.7, 24.7, 24.7, 0, 24.7, 24.7, 24.7, 39.0, 39.0, 39.0]

number = backk1[max_index(ptotal)]

答案 1 :(得分:0)

Python有许多附加功能,这使得这项任务非常简单。 max给出最大值,index给出最大值的索引值,可用于查找backk1中的相应元素。

backk1[ptotal.index(max(ptotal))]