2019独角兽企业重金招聘Python工程师标准>>>

温故而知新,无意中发现以前实验lambda的时候写的测试代码,第一个反映就是,这是我写的????!!!

呵呵,想想XX语言刚把lambda正式加进去,python早早支持了,我可以大喊一声”Python是最好的语言“来找找骂吗?

哈哈。

不过,自从有了lambda,很多代码一行搞定。不过还是有很多不为一般人注意的小细节,详见下面代码:

# coding=UTF-8#加百子
g=lambda x,y:x+y
total=0;
for i in range(1,101):#print itotal=g(total,i)print total#即使定义相同的lambda方法他们也不能算是同一个
g1=lambda x,y:x+y
g2=lambda x,y:x+y
print g1
print id(g1)
print g2
print id(g2)#lambda方法嵌套定义,lambda方法不适用变量引用而直接调用
print (lambda x,y:x+((lambda a:a+1)(y)))(1,2)#lambda方法定义不可以回车,也就是说像for这种代码不能出现再lambda方法中
#error
# lambda x,y:
#     num=0
#     for i in range(x,y+1)
#         num+=i#取可迭代的序列参数中所有满足真条件的值
#元组和列表
print filter(None,(1,0,True,False))
print filter(None,[1,0,True,False])
#字典的奇葩结果:返回的是key的列表,并且判断时以第一个符合的元素的类型作为基准
print filter(None,{"a":1,"b":0,"c":True,"d":False})
print filter(None,{1:'s',0:'s',True:'s',False:'s'})
print filter(None,{True:'s',False:'s',1:'s',0:'s'})
print filter(None,{0:'s',1:'s',True:'s',False:'s'})
print filter(None,{False:'s',0:'s',1:'s',True:'s'})
print filter(None,{False:'s',0:'s',1:'s',True:'s',2:'s',1.23:'s','KK':'s',0.00:'s'})
print filter(lambda x:x%2,{1:'s',2:'s',3:'s',4:'s'})
#取反
print filter(lambda x:not x,[1,0,True,False] )
#取奇数和偶数
print filter(lambda x:x%2, [1,2,3,4,5,6,7])
print filter(lambda x:(x+1)%2, [1,2,3,4,5,6,7])
#print filter(lambda [x,y]:(x+y)%2, [[1,2],[3,4],[5,6],[7,1]])errorprint map(None,range(10))
print map(lambda x:x*100,range(10))
print map(lambda x:x*100+(x%2)*(-1)+((x+1)%2)*1,range(10))
print map(lambda x:0,range(10))
print map(lambda x:[x-1,x,x+1],range(10))
print map(lambda x:(x-1,x,x+1),range(10))
#元组会变成元素相同的列表
print map(None,(1,2,3,4,5))
#即使返回的列表相同,地址已经不同,也就是两个列表不是同一个
l1 = [1, 2, 3, 4, 5, 6]
l2 = map(None, l1)
print l1,id(l1)
print l2,id(l2)

输出结果如下:(改天有空的时候,我会把输出结果对应者插进去,现在请各位凑合着看吧)

5050
<function <lambda> at 0xb7487bfc>
3074980860
<function <lambda> at 0xb7487f7c>
3074981756
4
(1, True)
[1, True]
['a', 'c', 'b', 'd']
[1]
[True]
[1]
[1]
[1, 2, 'KK', 1.23]
[1, 3]
[0, False]
[1, 3, 5, 7]
[2, 4, 6]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 100, 200, 300, 400, 500, 600, 700, 800, 900]
[1, 99, 201, 299, 401, 499, 601, 699, 801, 899]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[[-1, 0, 1], [0, 1, 2], [1, 2, 3], [2, 3, 4], [3, 4, 5], [4, 5, 6], [5, 6, 7], [6, 7, 8], [7, 8, 9], [8, 9, 10]]
[(-1, 0, 1), (0, 1, 2), (1, 2, 3), (2, 3, 4), (3, 4, 5), (4, 5, 6), (5, 6, 7), (6, 7, 8), (7, 8, 9), (8, 9, 10)]
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 6] 3074533388
[1, 2, 3, 4, 5, 6] 3074983436

转载于:https://my.oschina.net/happyBKs/blog/363673

Python 的lambda表达式的一些小细节相关推荐

  1. python的lambda表达式是什么?什么是回调函数?

    python的lambda表达式是什么?什么是回调函数? lambda lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数 lambda函数:首要用 ...

  2. Python中lambda表达式的优缺点及使用场景

    lambda表达式是什么? lambda 表达式是 Python 中创建匿名函数的一个特殊语法. 称 lambda 语法本身为 lambda 表达式,而它返回的函数我称之为 lambda 函数,或者称 ...

  3. php有lambda表达式吗,Python中lambda表达式的简单介绍(附示例)

    本篇文章给大家带来的内容是关于Python中lambda表达式的简单介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一:匿名函数的定义 lambda parameter ...

  4. python 用lambda表达式代替简单的函数, 匿名函数

    当一些函数很简单,仅仅只是计算一个表达式的值的时候,就可以使用lambda表达式来代替了. 比如: >>> add = lambda x,,y : x + y >>> ...

  5. Python:lambda表达式的两种应用场景

    1.lambda表达式 python书写简单,功能强大, 迅速发展成为 AI ,深度学习的主要语言.介绍Python中的lambda表达式,注意到,它只是一个表达式,不是语句啊. lambda的语法规 ...

  6. Python中lambda表达式的语法与应用

    lambda表达式常用来声明匿名函数,也就是没有名字的.临时使用的小函数,虽然也可以使用lambda表达式定义具名函数,但很少这样使用. lambda表达式常用在临时需要一个于函数的功能但又不想定义函 ...

  7. 微课系列(8):Python中lambda表达式的变量作用域

    技术要点: 1)lambda表达式等价于一个小函数,表达式的值就是函数的返回值. 2)可以给lambda表达式起名字,也可以不起名字. 3)在lambda表达式中使用没有定义的变量,默认是全局变量. ...

  8. Python中lambda表达式的常见用法

    非常抱歉,昨天发的代码中有一处小错误,已通过留言的方式进行了纠正,详情请见详解Python列表推导式 lambda表达式常用来声明匿名函数,即没有函数名字的临时使用的小函数.lambda表达式只可以包 ...

  9. python中lambda 表达式(无参数、一个参数、默认参数、可变参数(*args、**kwargs)、带判断的lambda、列表使用lambda)

    如果⼀个函数有⼀个返回值,并且只有⼀句代码,可以使⽤ lambda简化. lambda语法: lambda 参数列表 : 表达式 注意: lambda表达式的参数可有可⽆,函数的参数在lambda表达 ...

最新文章

  1. JAVA NIO - Buffer Channel
  2. python如何判断tcp异常断开_如何判断TCP连接已经中断?
  3. 【iOS】图片缩放动画
  4. equal、hashcode、==
  5. linux光盘补救,Linux_忘记root密码时使用Linux系统光盘进行补救的方法,救援模式即rescue ,这个模式主 - phpStudy...
  6. QT快速入门、三点求圆心实现详解
  7. Serverless实战 —— 函数计算如何访问 MySQL 数据库
  8. 手把手教你实现 Docker 部署 Redis 集群
  9. 四维的王坚和三维的阿里互联网汽车
  10. 3d数学基础:图形和游戏开发(第2版)_游戏引擎编程需要哪些基本数学知识?
  11. learning java AWT 布局管理器 GridLayout
  12. Extjs基础入门视频教程
  13. 详解Vue中的自定义指令
  14. MOOC 课后讨论5.2 判别是否是前缀码的算法
  15. 昂科自动烧录器对英飞凌IR38164M系列芯片烧录,效果显著
  16. Kubernetes全套笔记
  17. html文件怎么在桌面建立,怎么创建html网页 怎样在桌面上建立HTML网页文件?
  18. Spark RDD distinct 算子
  19. mac广告拦截软件:1Blocker for Mac
  20. 2021浏阳一中高考成绩查询,浏阳市2021年“三考”增加考生万余名

热门文章

  1. oracle-审计3
  2. MyEclipse 修改 默认的 工作空间(转)
  3. 速打微补丁!这个越权文件读取漏洞影响 Windows OS
  4. 2019最有意思的五大 ZDI 案例之:通过调色板索引实现 Win32k.sys 本地提权漏洞 (下)...
  5. 年薪30W前端程序员,需要吃透的前端书籍推荐
  6. OpenCASCADE Texture Mapping
  7. 2017-2018-1 20155229 实验五 《通讯协议设计》
  8. PyQt5学习笔记2-GUI编程基础-2
  9. 符合W3C标准的target=_blank形式
  10. Shell awk 求标准差