📜  在 python 中使用 lambda 过滤函数(1)

📅  最后修改于: 2023-12-03 14:51:05.323000             🧑  作者: Mango

在 Python 中使用 lambda 过滤函数

在 Python 中,可以使用 lambda 函数来定义一些简单的匿名函数。lambda 函数通常用于需要一个函数对象的程序场合,例如:作为函数的参数传递进去。在一些函数式编程的场合下,使用 lambda 表达式可以让代码变得更为简洁。

在本篇文章中,我们将探讨如何在 Python 中使用 lambda 过滤函数。

过滤列表

假设现在有一个数字列表:

lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]

我们想要过滤出其中的偶数,可以使用以下代码:

result = filter(lambda x: x % 2 == 0, lst)
print(list(result))

在这段代码中:

  • lambda x: x % 2 == 0 定义了一个匿名函数,用于检查传入的数是否为偶数。
  • filter 函数将列表 lst 中的每个元素都传递给了 lambda 函数,并根据 lambda 函数的返回值来判断是否保留该元素。
  • print(list(result)) 打印过滤之后的结果。结果为 [2, 4, 6, 8]
过滤字典

除了列表,我们还可以使用 lambda 函数来过滤字典。假设我们有如下的字典:

scores = {'Alice': 80, 'Bob': 90, 'Charlie': 70, 'David': 50}

我们想要过滤出分数高于等于 80 分的项,可以使用以下代码:

result = filter(lambda x: x[1] >= 80, scores.items())
print(dict(result))

在这段代码中:

  • lambda x: x[1] >= 80 定义了一个匿名函数,用于检查传入的键值对是否符合条件。
  • scores.items() 将字典 scores 转化为一个包含键值对的元组列表。
  • filter 函数将列表中的每个元素(即键值对)都传递给了 lambda 函数,并根据 lambda 函数的返回值来判断是否保留该元素。
  • print(dict(result)) 打印过滤之后的结果。结果为 {'Alice': 80, 'Bob': 90}
总结

本文介绍了如何在 Python 中使用 lambda 过滤函数。除了列表和字典外,lambda 函数还可以用于其他一些需要函数对象作为参数的场合。熟练掌握 lambda 函数可以让我们的代码更加简洁,提高编写效率。