首页 > 解决方案 > 如何实现该函数,该函数返回列表中元素总和最大的元组索引?

问题描述

我需要一个元素的索引,其中包含最大和,但我所做的只是在 listm 中的元组内找到最大值,而不是对索引进行微调。能否请你帮忙。

def max_sum_index(tuples):  
   
    # YOUR CODE HERE
    maxi = 0
  
    # traversal in the lists 
    for x in tuples: 
        sum = 0 
        # traversal in tuples in list 
        for y in x: 
            sum+= y      
        maxi = max(sum, maxi)  
          
    return maxi

print(max_sum_index([(10, 20), (40, 32), (30, 25)]))
#72

标签: pythonpython-3.x

解决方案


跟踪您可能想要使用的索引enumerate

for i,x in enumerate(tuples):

然后要跟踪索引,您需要一个变量来表示最高总和以及该总和的索引:

maxi = 0
max_val = 0

如果你发现一个元素的总和高于max_val那将成为新的最大值,以及它的索引

    if sum > max_val:
        max_val = sum
        maxi = i 

所以你会有类似的东西:

def max_sum_index(tuples):  
   
    maxi = 0
    max_val = 0
  
    # traversal in the lists 
    for i,x in enumerate(tuples): 
        sum = 0 
        # traversal in tuples in list 
        for y in x: 
            sum+= y
        if sum > max_val:
            max_val = sum
            maxi = i 
          
    return maxi

print(max_sum_index([(10, 20), (40, 32), (30, 25)]))

推荐阅读