Python 示例中的 Lambda 和 filter

pythonserver side programmingprogramming

在本文中,我们将了解 Python 3.x 或更早版本中的 lambda 表达式和 filter() 函数。这些函数存在于内置的 Python 标准库中。

什么是 lambda 表达式?

内联函数可以借助 lambda 表达式来定义。lambda 表达式由 lambda 关键字组成,后跟以逗号分隔的参数列表,以及要使用以下格式的参数列表求值的表达式:

语法

 Lambda 参数:表达式

返回值:通过替换表达式中的参数计算出的值。

Lambda 表达式通常以匿名函数的名称缩写,因为它们没有任何名称。这里函数声明不需要 def 关键字 dis

什么是过滤函数?

Python 提供了一个函数 filter(),该函数以一个函数和一个可迭代对象作为输入参数,并仅返回函数返回 True 的可迭代对象中的那些元素。

语法

filter(function , <list type>)

返回类型:计算值列表

让我们看一些插图,以更好地了解它们的实现。

插图 1

示例

inp_list = ['t','u','t','o','r','i','a','l']
result = list(filter(lambda x: x!='t' , inp_list))

print(result)

输出

['u', 'o', 'r', 'i', 'a', 'l']

解释 

此处列表中的所有元素 other比‘t’按条件过滤,列表由 lambda 表达式帮助形成。

图 2

示例

inp_list = [1,2,3,4,5,6,7,8,9,10]
result = list(filter(lambda x: x%2==0 , inp_list))

print(result)

输出

[2, 4, 6, 8, 10]

说明

这里我们从给定列表中过滤出所有偶数元素,并通过对返回值进行类型转换以列表形式显示。

结论

在本文中,我们学习了如何实现 lambda 和 filter() 函数在 Python 3.x 或更早版本中。我们还了解了这两个函数的组合用法,以获得所需的输出。

这些函数通常一起使用,因为它们提供了一种更好的方法来过滤出所需格式的输出。


相关文章