繁体   English   中英

从头开始创建max函数(python)

[英]Creating a max function from scratch (python)

因此,我正在尝试创建一个从头开始确定一组值的最大值的函数。

我不确定在找到新的Max后如何使函数更改Max的新值,也不确定我的args用法是否正确。

def Maximum(*args):
    Max = 0
    for item in List:
        if item > Max:
            item = Max
    return Max


List = [1,5,8,77,24,95]

maxList = Maximum(List)
print str(maxList)

任何帮助将不胜感激。

您已经倒退了一行代码。 您的if语句有效地表明,如果item大于Max,请将item设置为Max。 您需要翻转一下,以说如果item大于Max,请将Max设置为item。

if item > Max:
    Max = item
return Max

另外,我不是Python方面的专家,但是我认为您需要在函数内部更改List以匹配参数名称,在这种情况下为args。

* args =参数列表-作为位置参数

您在此处传递列表作为参数。 因此,您的代码应如下所示-

def maximum(nums):
   Max = 0
   for item in nums:
       if item > Max:
           Max=item
   return Max

List = [1,5,8,77,24,95]
print maximum(List)

这将为您提供结果:95。

另一方面,您可以使用内置的最大值函数来获取列表中的最大值。

print max(List)

使用reduce():

Python 2

def Maximum(data):
    return reduce(lambda x, y: x if x > y else y, data)

在Python 3中,添加

from functools import reduce

输出:

print(Maximum([4, 8, 4, 19, -1]))

19

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM