Python 中列表推导和 Lambda 的区别
列表推导式是在 Python 中定义和创建列表的一种优雅方式。我们可以像数学语句一样创建列表,并且仅在一行中。列表推导的语法更容易掌握。
列表理解通常由以下部分组成:
- 输出表达式;
- 输入序列;
- 表示输入序列成员的变量;
- 一个可选的谓词部分;
列表推导的语法:
示例代码:
运行结果如下:
在上面的例子中,
x ** 2
是表达式。range (1, 11)
是一个输入序列或另一个列表。x
是变量。- 如果
x % 2 == 1
是谓词部分。
什么是 lambda?
在 Python 中,匿名函数意味着函数没有名称。我们已经知道 def
关键字用于定义普通函数,而 lambda 关键字用于创建匿名函数。它具有以下语法:
lambda 的语法:
示例代码:
运行结果:
Lambda 和 列表推导式的区别
列表推导式用于创建列表,Lambda 是可以像其他函数一样处理并因此返回值或列表的函数。
例子:
运行结果:
列表理解与 lambda + 过滤器的图形表示
从图中我们可以看出,整体列表理解比过滤函数快得多。过滤器仅对小列表更快。
运行结果: