python lambda,map介绍

摘自http://www.cnblogs.com/evening/archive/2012/03/29/2423554.html

>>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
>>>
>>> print filter(lambda x: x % 3 == 0, foo)    #过滤出能被3整除的数
[18, 9, 24, 12, 27]
>>>
>>> print map(lambda x: x * 2 + 10, foo)    #等效于  print( [x * 2 + 10 for x in foo]  )
[14, 46, 28, 54, 44, 58, 26, 34, 64]
>>>
>>> print reduce(lambda x, y: x + y, foo)
139

map(func, seq1[, seq2,…]) 

Python函数编程中的map()函数是将func作用于seq中的每一个元素,并将所有的调用的结果作为一个list返回。如果func为None,作用同zip()。#zip意思为拉链

#使用lambda

>>> print map(lambda x: x % 2, range(7))

[0, 1, 0, 1, 0, 1, 0]

当seq多于一个时,map可以并行(注意是并行)地对每个seq执行

每个seq的同一位置的元素同时传入一个多元的func函数之后,得到一个返回值,并将这个返回值存放在一个列表中

>>> print map(lambda x , y : x ** y, [2,4,6],[3,2,1])

[8, 16, 6]

PS: map无法处理seq长度不一致、对应位置操作数类型不一致的情况,这两种情况都会报类型错误

 

 

转载于:https://www.cnblogs.com/gilgamesh-hjb/p/7248390.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值