我想创建一个函数,该函数将在数字列表中打印总和和最大值的位置,但是我不确定该怎么做。 :我在询问类似问题时使用了一些代码。def maxvalpos(variables): max = 0 for i in range(len(variables)): if variables[i] > max: max = variables[i] maxIndex = i return (max, maxIndex)print maxvalpos(4, 2, 5, 10)当我运行此代码时,它仅返回该函数只能接受1个参数。谢谢你。
3 回答

慕桂英4014372
TA贡献1871条经验 获得超13个赞
执行此操作的pythonic方法:
my_list_sum=sum(my_list)
index_max=my_list.index(max(my_list))
这会找到列表的总和以及列表最大值的索引
但是代码中的问题是:您正在向该函数发送四个变量,并且只接收一个变量。为此,请使用:
maxvalpos([4,2,7,10])
这仅发送一个参数,即函数的列表

慕的地10843
TA贡献1785条经验 获得超8个赞
一种更简单的方法
>>> from operator import itemgetter
>>> maxpos, maxval = max(enumerate(my_list), key=itemgetter(1))
例如。
>>> max(enumerate([4, 2, 5, 10]), key=itemgetter(1))
(3, 10)
添加回答
举报
0/150
提交
取消