Python中map与lambda的结合使用

map是Python的内置方法,其官方解释是:

map(function, sequence[, sequence, ...]) -> list

Return a list of the results of applying the function to the items of
the argument sequence(s).  If more than one sequence is given, the
function is called with an argument list consisting of the corresponding
item of each sequence, substituting None for missing values when not all
sequences have the same length.  If the function is None, return a list of
the items of the sequence (or a list of tuples if more than one sequence).

考虑function为None的情形。

map(None, [1,2,3]) #[1, 2, 3]

map(None, [1,2,3], [4,5,6]) #[(1, 4), (2, 5), (3, 6)]

map(None, [1,2,3], [4,5]) #[(1, 4), (2, 5), (3, None)]

考虑function为lambda表达式的情形。此时lambda表达式:的左边的参数的个数与map函数sequence的个数相等, :右边的表达式是左边一个或者多个参数的函数。

map(lambda x: x+1, [1,2,3]) #[2, 3, 4]

map(lambda x, y:x+y, [1,2,3], [4,5,6]) #[5, 7, 9]

map(lambda x, y:x == y, [1,2,3], [4,5,6]) #[False, False, False]

def f(x):
    return True if x==1 else Fasle
map(lambda x: f(x), [1,2,3]) #[True, False, False]

考虑函数不为lambda表达式的情形:

def f(x):
    return True if x==1 else Fasle
map(f, [1,2,3]) #[True, False, False]
  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值