简单介绍Python中的filter和lambda函数的使用
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基础教程之lambda表达式使用方法
Python中,如果函数体是一个单独的return expression语句,开发者可以选择使用特殊的lambda表达式形式替换该函数: 复制代码 代码如下: lambda parameters: expression lambda表达式相当于函数体为单个return语句的普通函数的匿名函数.请注意,lambda语法并没有使用return关键字.开发者可以在任何可以使用函数引用的位置使用lambda表达式.在开发者想要使用一个简单函数作为参数或者返回值时,使用lambda表达式是很方便的.下面是
-
Python中lambda的用法及其与def的区别解析
python中的lambda通常是用来在python中创建匿名函数的,而用def创建的方法是有名称的,除了从表面上的方法名不一样外,python中的lambda还有如下几点和def不一样: 1. python lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而def则会把函数对象赋值给一个变量. 2. python lambda它只是一个表达式,而def则是一个语句. 下面是python lambda的格式,看起来非常精简. lambda x: print x 如果你在pyt
-
python中的lambda表达式用法详解
本文实例讲述了python中的lambda表达式用法.分享给大家供大家参考,具体如下: 这里来为大家介绍一下lambda函数. lambda 函数是一种快速定义单行的最小函数,是从 Lisp 借用来的,可以用在任何需要函数的地方 .下面的例子比较了传统的函数定义def与lambda定义方式: >>> def f ( x ,y): ... return x * y ... >>> f ( 2,3 ) 6 >>> g = lambda x ,y: x *
-
python基础教程之匿名函数lambda
python lambda 当我们在使用函数时,有时候,并不需要显示的定义一个函数,我们可以使用匿名函数更加方便,在Python中对匿名函数也提供了支持. 比如当我们想计算两个数a,b之和时,即f(a,b) = a + b.我们可以有两种方法完成,第一种就是显示的定义一个函数f(x,y),然后将参数传进去得到结果.第二种方式就是使用匿名函数了. f = lambda x,y:x+y >>>f(1,2) 3 匿名函数lambda x,y:x+y实际上就是: def f(x, y): re
-
Python的lambda匿名函数的简单介绍
lambda函数也叫匿名函数,即,函数没有具体的名称.先来看一个最简单例子: 复制代码 代码如下: def f(x):return x**2print f(4) Python中使用lambda的话,写成这样 复制代码 代码如下: g = lambda x : x**2print g(4) lambda表达式在很多编程语言都有对应的实现.比如C#: 复制代码 代码如下: var g = x => x**2Console.WriteLine(g(4)) 那么,lambda表达式有什么用处呢?很多人提
-
在Python中使用lambda高效操作列表的教程
介绍 lambda Python用于支持将函数赋值给变量的一个操作符 默认是返回的,所以不用再加return关键字,不然会报错 result = lambda x: x * x result(2) # return 4 map()/filter()/reduce() 需要两个参数,第一个是一个处理函数,第二个是一个序列(list,tuple,dict) map() 将序列中的元素通过处理函数处理后返回一个新的列表 filter() 将序列中的元素通过函数过滤后返回一个新的列表 reduce()
-
python中lambda与def用法对比实例分析
本文实例对比分析了python中lambda与def的用法.分享给大家供大家参考.具体分析如下: 1.lambda用来创建匿名函数,不同于def(def创建的函数都是有名字的). 2.lambda不会将结果赋给一个标识符,而def会将函数结果赋给一个标识符. 3.lambda是一个表达式,而def是一个语句 示例程序: >>> f1 = lambda x,y,z: x*2+y+z # lambda带有多个参数 >>> print f1(3,2,1) 9 >>
-
Python lambda和Python def区别分析
Python支持一种有趣的语法,它允许你快速定义单行的最小函数.这些叫做lambda的函数,是从Lisp借用来的,可以用在任何需要函数的地方. lambda的语法时常会使人感到困惑,lambda是什么,为什么要使用lambda,是不是必须使用lambda? >>> def f(x): ... return x+2 ... >>> f(1) 3 >>> f = lambda x:x+2 >>> f(1) 3 >>> (
-
python中lambda函数 list comprehension 和 zip函数使用指南
lambda 函数 Python 支持一种有趣的语法,它允许你快速定义单行的最小函数.这些叫做 lambda 的函数,是从 Lisp 借用来的,可以用在任何需要函数的地方. def f(x): return x*2,用lambda函数来替换可以写成:g = lambda x: x*2`g(3)结果是6.(lambda x: x*2)(3)`也是同样的效果. 这是一个 lambda 函数,完成同上面普通函数相同的事情.注意这里的简短的语法:在参数列表周围没有括号,而且忽略了 return 关键字
-
深入解析Python中的lambda表达式的用法
普通的数学运算用这个纯抽象的符号演算来定义,计算结果只能在脑子里存在.所以写了点代码,来验证文章中介绍的演算规则. 我们来验证文章里介绍的自然数及自然数运算规则.说到自然数,今天还百度了一下,据度娘说,1993年后国家规定0是属于自然数.先定义自然数及自然数的运算规则: 用lambda表达式定义自然数(邱齐数) 0 := λf.λx.x 1 := λf.λx.f x 2 := λf.λx.f (f x) 3 := λf.λx.f (f (f x)) ... 上面定义直观的意思就是数字n, 是f(
随机推荐
- 正则表达式对qq号码校验
- PHP使用内置函数file_put_contents写入文件及追加内容的方法
- 详解Vue2.0里过滤器容易踩到的坑
- JavaScript学习笔记之基础语法
- Windows 2003 64位正式版抢先体验
- win2008 r2 下安装sql server 2005 64位教程(图解)
- ren 命令在使用通配符时需要注意的地方
- javascript简单实现滑动菜单效果的方法
- asp.net使用DataTable构造Json字符串的方法
- WMLScript脚本程序设计第1/9页
- 惊现瑞星升级原理详解,其实早就有人破解了
- jQuery插件简单学习实例教程
- jQuery实现鼠标选文字发新浪微博的方法
- javascript中日期转换成时间戳的小例子
- JavaScript 利用StringBuffer类提升+=拼接字符串效率
- Add a Table to a Word Document
- js 页面执行时间计算代码
- 用IIS建立的.net网站通过IP地址不能访问解决方法
- Node.js 8 中的重要新特性
- LNMP下添加Discuz x2.5的伪静态规则
其他
- Python格式化字符串实例
- Centos 升级到python3后pip 无法使用
- docker如何拉取Nginx镜像
- oracle netca日志 trace 文件
- arcgis android 百度地图
- jquery window.onload 之后会有大量循环
- mac idea 内存分析工具
- c# 如何将listbox中显示存储为文本文件
- mac m1 安装eclipse无法打开
- C# Dapper in参数
- struct 设置字段默认值 golang
- vue springboot token刷新
- net 分库分表 CLIENT
- @Valid 注解类型
- js typeOf在if中进行使用
- mybatis Interceptor 修改where条件
- js调用onchangge事件
- vue实现搜索框模糊查询两个属性
- vue3 调用子组件函数
- python 函数调用自身