按索引列出的最大值

2024-04-26 04:26:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我的清单是:

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]

我想在列表“backk1”中找到列表“ptotal”的最大值及其对应的值。我把下面的代码作为我整个计划的一部分。效果不好。你能帮帮我吗?你知道吗

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]))

Tags: lambdakey代码in列表max计划效果
2条回答

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

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)]

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

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

相关问题 更多 >

    热门问题