Python 使用Lambda函数找到两个元素之间较小的值

Python 使用Lambda函数找到两个元素之间较小的值

Lambda函数是Python中流行的无名函数。它们旨在帮助我们在需要应用任何小操作时使用,但我们知道不会在其他地方重复使用代码。在本文中,我们将学习如何使用Lambda函数找到两个元素之间的较小值。我们将探讨使用min、sorted等多种方法以及Lambda函数来执行相同的操作。

使用if else语句

if else语句在Python中称为条件运算符。它让我们根据特定条件做出某些决策。条件表达式评估条件表达式的结果是True还是False。如果为True,则执行一段代码块,否则会被阻塞。

示例

在下面的示例中,我们使用了条件表达式和Lambda函数。我们使用条件表达式来检查a和b之间的最小数。我们定义了Lambda函数,并将a和b的值传递给它,并返回从Lambda函数中获得的结果。

def smaller(a,b):
    smaller = lambda a, b: a if a < b else b
    result = smaller(a, b)
    return result
a=45
b=24
print("The smaller number between {} and {} is: {}.".format(a, b, smaller(a,b)))

输出

The smaller number between 45 and 24 is: 24

使用 min 函数

Python 中的 min 函数返回一系列元素中的最小值。

语法

min(arg1, arg2, ..., argN, key=func)

在这里,arg1,arg2,…,argN是参数或元素。我们还可以将任何可迭代对象传递给函数,而不是一系列的参数。’key’指定了任何需要进行自定义排序的数据结构,如果我们不想使用自定义排序。

示例

在以下示例中,我们使用min函数确定两个数字a和b中较小的那个。我们使用了lambda函数并将表达式封装在其中。接下来,我们调用lambda函数并将参数a和b传递给它。

def find_smaller(a, b):
    smaller = lambda a, b: min(a, b)
    return smaller(a, b)
a = 47
b = 24
result = find_smaller(a, b)
print("The smaller number between {} and {} is: {}.".format(a, b, result))

输出

The smaller number between 47 and 24 is: 24.

使用sorted()方法

在Python中,sorted()方法是一个内置函数。它允许我们按可迭代的顺序对序列或对象进行排序。它返回一个新的已排序列表,而不改变原始列表。

语法

sorted(iterable, key=key, reverse=Boolean value)

在这里,sorted是函数的名称。iterable是可迭代对象的名称。key被定义为参数,用于指定我们需要用来对可迭代对象进行排序的属性,如果可迭代对象相当复杂。reverse参数接受布尔值True或False。如果设置为True,它将按逆序排序。

示例

在下面的示例中,我们使用了sorted方法。我们使用lambda函数将sorted方法应用于元素a和b。接下来,我们调用lambda函数并传递参数a和b。

def find_smaller(a, b):
    smaller = lambda a, b: sorted([a, b], key=lambda x: x)[0]
    return smaller(a, b)
a = 455
b = 89
result = find_smaller(a, b)
print("The smaller number between {} and {} is: {}.".format(a, b, result))

输出

The smaller number between 455 and 89 is: 89.

使用Lambda和Reduce方法

‘reduce’不是Python中的内置方法,它属于functools模块。functools模块提供了各种处理函数的方法。它可以以可迭代的方式应用特定的函数。它需要两个必需的参数:第一个是函数的名称,第二个是可迭代对象。

示例

在下面的示例中,我们首先导入了functools模块。接下来我们创建了一个包含两个元素a和b的列表。我们使用lambda函数编写了一个条件表达式,该表达式比较a和b中的较小数。然后我们使用reduce方法将这个lambda函数应用到列表元素上。

from functools import reduce
def find_smaller(a, b):
    elements=[]
    elements.append(a)
    elements.append(b)
    smaller = lambda a, b: a if a < b else b
    result = reduce(smaller, elements)
    return result
a = 4557
b = 66
result = find_smaller(a, b)
print("The smaller number between {} and {} is: {}.".format(a, b, result))

输出

The smaller number between 4557 and 66 is: 66.

结论

在这篇文章中,我们了解了如何在Python中找到两个值之间的较小值。我们使用了lambda函数来处理,它提供了一种优雅的代码编写方式。我们使用了Python的几种方法,如reduce、sorted等来处理。由于这只是两个数字之间的简单比较,我们几乎不需要考虑时间复杂度和优化算法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程