猿问

在列表中找到最大值的总和和位置

我想创建一个函数,该函数将在数字列表中打印总和和最大值的位置,但是我不确定该怎么做。 :


我在询问类似问题时使用了一些代码。


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个参数。谢谢你。


扬帆大鱼
浏览 268回答 3
3回答

跃然一笑

然后给它一个参数,或修改定义。print maxvalpos([4, 2, 5, 10])或者def maxvalpos(*variables):

慕桂英4014372

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

慕的地10843

一种更简单的方法>>> from operator import itemgetter>>> maxpos, maxval = max(enumerate(my_list), key=itemgetter(1))例如。>>> max(enumerate([4, 2, 5, 10]), key=itemgetter(1))(3, 10)
随时随地看视频慕课网APP

相关分类

Python
我要回答