匿名函数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]