python lambda函数如何实现

  • Post category:Python

当谈到一个函数只被使用一次时,使用lambda函数可以让一些编码任务更加便利。

1. Python Lambda函数的基础语法

lambda 函数定义形式如下:

lambda argument_list: expression

这里,argument_list 是参数列表,用逗号分隔。expression是关于这些参数的运算式。可以把lambda函数分配给一个变量,并像一个普通函数那样进行调用,如下所示:

sum = lambda x, y: x + y
print(sum(3, 4)) # 7

这里,我们使用lambda x, y: x + y定义了一个简单的lambda函数并赋值给sum变量。sum(3, 4)的结果为7。

2.使用Python Lambda函数的好处

  • 不需要定义函数名字,使用一次后即丢弃,因此节省内存。
  • 代码更加简洁明了,减少不必要的命名。

3. 两个示例代码

3.1. 对一个列表进行排序

这里我们使用 sorted()函数对一个列表进行排序。它的用法如下:

new_list = sorted(old_list, key=lambda x: x[1])

它的工作原理是:key参数用于定义在old_list中每个元素上的操作。 key=lambda x: x[1] 表示使用列表中每个元素的第二个值进行排序。此函数返回一个新的已排序列表。

下面是示例代码:

old_list = [(1, 2), (2, 0), (3, 5), (4, 1)]
new_list = sorted(old_list, key=lambda x: x[1])
print(new_list) # [(2, 0), (4, 1), (1, 2), (3, 5)]

3.2. 设定一个条件

我们可以使用 filter() 函数来使用 lambda 函数选出一些元素。下面这个例子会过滤那些质数:

primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
filtered_primes = list(filter(lambda x: x > 10, primes))
print(filtered_primes) # [11, 13, 17, 19, 23, 29]

这里我们利用lambda x: x > 10条件,选出了所有大于10的质数,并将其赋值给filtered_primes变量。