简单介绍Python中的filter和lambda函数的使用

作者:goldensun 时间:2023-05-30 18:18:36 

filter(function or None, sequence),其中sequence 可以是list ,tuple,string。这个函数的功能是过滤出sequence 中所有以元素自身作...

filter(function or None, sequence),其中sequence 可以是list ,tuple,string。这个函数的功能是过滤出sequence 中所有以元素自身作为参数调用function时返回True或bool(返回值)为True的元素并以列表返回. filter只能接受两个参(function,sequence) ,其中函数function中只能返回一个值

先上一段简单的代码:
 


print max(filter(lambda x: 555555 % x == 0, range(100, 999)))

代码的意思是输出 555555 最大的三位数的约数是多少。

首先,这段代码的第一个知识点是python的内置函数 filter

filter()函数,是用来过滤列表的。最简单的说法就是 用一个函数来过滤一个列表,把列表的每一项传递进入过滤函数,过滤函数返回false就从这个列表中删除该项。

filter()函数包括两个参数, function和list。即该函数根据function参数返回的结果是否为真来过滤list参数中的项,最后返回一个新的列表。

简单来讲,filter()函数相当于下面的代码:
 


c = [b for b in a1 if b > 2]
print c

第二个知识点是 lambda()函数

Python支持这种语法,它允许用户快速定义单行的最小函数,这些叫做 lambda的函数,是从Lisp借用来的。
 


def f(x):
 return x * 2
g = lambda x: x * 2
(lambda x: x * 2)(3)

根据代码可以看到,lambda函数完成了普通函数相同的事情,并且,lambda在参数列表周围没有括号,并且忽略了return关键字(return隐含存在,因为整个函数只有一行,且该函数没有名称,但可以将它赋值给一个变量进行调用)

最后一段代码展示了lambda函数只是一个内联函数。

标签:Python
0
投稿

猜你喜欢

  • 详解Mysql查询条件中字符串尾部有空格也能匹配上的问题

    2024-01-13 11:06:50
  • Python实现url长短链接的转换

    2022-07-21 14:05:58
  • 内容呈现的减法

    2007-11-16 16:22:00
  • pip安装路径修改的详细方法步骤

    2021-11-03 12:38:29
  • asp如何读取一个文件内容?

    2009-11-19 17:23:00
  • 将不规则的Python多维数组拉平到一维的方法实现

    2023-11-05 19:47:15
  • 解析:正确的理解SQL Server和XML支持

    2009-01-23 13:52:00
  • SQL里面用自定义Split()完成个性化需求

    2024-01-15 08:07:58
  • Python Learning 列表的更多操作及示例代码

    2022-11-15 01:05:33
  • mysql 5.7更改数据库的数据存储位置的解决方法

    2024-01-21 11:56:43
  • 带你轻松接触 MySQL中损坏的MyISAM表

    2008-12-19 17:55:00
  • 解决python多行注释引发缩进错误的问题

    2022-02-08 04:19:53
  • python 如何去除字符串头尾的多余符号

    2021-12-29 03:17:36
  • python调用pymssql包操作SqlServer数据库的实现

    2024-01-13 19:40:08
  • python open读取文件内容时的mode模式解析

    2022-02-05 20:03:35
  • Python threading.local代码实例及原理解析

    2021-09-03 06:14:07
  • MySQL最新漏洞分析

    2012-07-11 15:41:10
  • python获取时间及时间格式转换问题实例代码详解

    2021-12-20 12:46:20
  • 20个优秀网站助你征服CSS[译]

    2008-09-21 13:21:00
  • js中创建对象的几种方式

    2024-04-10 10:44:41
  • asp之家 网络编程 m.aspxhome.com