码迷,mamicode.com
首页 > 编程语言 > 详细

Python的lambda

时间:2017-12-30 19:04:18      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:func   运算符   分享图片   highlight   三元运算符   条件   表示   ret   arp   

 

 

if else 可以用简单的三元运算符表示

if 1 == 1:
    name = ‘wupeiqi‘
else:
    name = ‘alex‘

--》

name = ‘wupeiqi‘ if 1 == 1 else ‘alex‘

对于函数也可以lambda来简化表达

# ###################### 普通函数 ######################
# 定义函数(普通方式)
def func(arg):
    return arg + 1
  
# 执行函数
result = func(123)
  
# ###################### lambda ######################
  
# 定义函数(lambda表达式)
my_lambda = lambda arg : arg + 1
  
# 执行函数
result = my_lambda(123)  

内置函数

1,map

遍历序列,对序列中每个元素进行操作,最终获取新的序列。

 技术分享图片

li = [11, 22, 33]
new_list1 = map(lambda a: a + 100, li)
print new_list1

[111, 122, 133]

li = [11, 22, 33]
sl = [1, 2, 3]
new_list = map(lambda a, b: 2*a + b, li, sl)
print new_list

[23, 46, 69]

 2,filter

对于序列中的元素进行筛选,最终获取符合条件的序列

 技术分享图片

li = [11, 22, 33]
new_list2 = filter(lambda arg: arg >= 22, li)
print new_list2

[22, 33]

3,reduce

对于序列内所有元素进行累计操作

 技术分享图片

技术分享图片

li = [11, 22, 33]
sl = [1, 2, 3]
result = reduce(lambda arg1, arg2: arg1 + arg2, li)
print result
# reduce的第一个参数,函数必须要有两个参数
# reduce的第二个参数,要循环的序列
# reduce的第三个参数,初始值

66

Python的lambda

标签:func   运算符   分享图片   highlight   三元运算符   条件   表示   ret   arp   

原文地址:https://www.cnblogs.com/huxinga/p/8150631.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!