python 中的map(),zip()函数以及表达式lambda用法

匿名函数lambda用法

python中使用lambda来创建匿名函数。lambda只是一个表达式,拥有自己的命名空间,且不能访问自由参数列表之外或全局命名空间里的参数。

lambda语法

lambda arg1,arg2… :expression

lambda表达式是起到一个函数速写的作用。例子:

>>> sum = lambda x,y:x+y
>>> sum(2,4)
6

zip()函数用法

zip()是python的一个内建函数,接受一系列可迭代的对象作为参数。将对象中对应的元素打包成一个个元组,在python2中返回一个列表。在python3中返回一个支持遍历的对象。
如果传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。使用*号操作符号,可以将list unzip解压。

>>> a=[1,2,3]
>>> b=[4,5,6]
>>> c=[1,2,3,4,5,6]
>>> list(zip(a,b))  #转换为List列表
[(1, 4), (2, 5), (3, 6)]
>>> list(zip(a,c))  #返回list长度是参数中长度最短的对象的长度
[(1, 1), (2, 2), (3, 3)]
>>> d=zip(a,b)
>>> list(zip(*d)) 
[(1, 2, 3), (4, 5, 6)]

list(zip())只能调用一次,否则返回[]。查看python3提供zip()的源代码,zip()实际上是一个生成器对象,故使用list()获取zip()结果时,已经相当于是完成一次迭代遍历,第二次再次使用list()时迭代已经结束,所以返回[]。

map()函数用法

map()会根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

语法是:

map(function,iterable,…)

使用map()函数的一个例子。
>>> a=map(lambda x : x*2 ,range(4))
>>> list(a)
[0, 2, 4, 6]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值