Python 中的 Lambda 和 filter 示例


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

什么是 lambda 表达式?

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

语法

 Lambda arguments: expression

**返回值:**将参数代入表达式计算得到的值。

lambda 表达式通常被称为匿名函数,因为它们没有名称。这里不需要使用 def 关键字声明函数。

什么是 filter 函数?

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']

解释

这里,列表中除了 '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]

解释

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

结论

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

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

更新于: 2019年8月7日

2K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告