python - 如何实现该函数,该函数返回列表中元素总和最大的元组索引?
问题描述
我需要一个元素的索引,其中包含最大和,但我所做的只是在 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
解决方案
跟踪您可能想要使用的索引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)]))
推荐阅读
- xml - 如果字段中的值为 Null,则需要消除标签
- git - 如何git合并整个文件?
- javascript - 使用Javascript从下拉列表中获取未定义的值/文本
- ms-access - 如何在已经组合了 2 个查询的联合中添加 1 个没有任何匹配的表
- php - 如何使用 Laravel 中的路由将循环下拉值从视图传递到控制器?
- php - 转换为十进制时缺少前导零
- python - 不使用 SerializerMethodField 显示添加的字段
- spotfire - 是否可以在spotfire中从长字符串中提取固定格式的字符串?
- android - 如何更改 SwitchPreference 上的文本摘要颜色
- c# - 接收数据时,[serialport_datareceived]事件发生多次(使用虚拟串口)