替换python中的内置min函数

2024-10-01 07:43:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我应该编写一个函数min_in_list(munbers),它接受 返回最小的一个。注意:不允许使用内置函数min!在

def min_in_list(numbers):
    the_smallest = [n for n in numbers if n < n+1]
    return the_smallest

怎么了?在


Tags: the函数inforreturnifdefmin
3条回答
def min_of_two(x, y):
    if x >= y: return x
    else: return y

def min_in_list(numbers):
    return reduce(min_of_two, numbers)

你必须从列表中产生一个数字,而不仅仅是另一个列表。这是reduce函数的工作(当然,您可以不使用reduce来实现它,但是通过与它的类比)。在

min = lambda n: return reduce(lambda x,y: (x>y) and return x or return y,n)

从未经过测试,使用风险自负。在

给你。这几乎可以肯定是尽可能简单。你交作业的时候甚至不用给我表扬。在

import itertools
import functools
import operator

def min(seq, keyfun=operator.gt):
    lt = lambda n: functools.partial(keyfun, n)

    for i in seq:
        lti = lt(i)
        try:
            next(itertools.ifilter(lti, seq))
        except:
            return i

相关问题 更多 >