我想创建一个函数,在一个数字列表中打印最大值的总和和位置,但我不知道该怎么做...这就是我开始的到目前为止:
我使用了一些类似问题的代码。
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个参数。谢谢。
答案 0 :(得分:5)
然后给它一个参数,或修改定义。
print maxvalpos([4, 2, 5, 10])
或
def maxvalpos(*variables):
答案 1 :(得分:1)
这样做的pythonic方式:
my_list_sum=sum(my_list)
index_max=my_list.index(max(my_list))
这可以找到列表的总和和列表最大值的索引
但是代码中的问题是:您正在向函数发送四个变量并仅接收1个变量。为此,请使用:
maxvalpos([4,2,7,10])
这只发送一个参数,一个列表到函数
答案 2 :(得分:1)
更简单的方法
>>> from operator import itemgetter
>>> maxpos, maxval = max(enumerate(my_list), key=itemgetter(1))
例如
>>> max(enumerate([4, 2, 5, 10]), key=itemgetter(1))
(3, 10)