Python 函数式编程 zip、lambda、map...   2018-01-24


zip、lambda、map…

zip

zip 函数接受任意多个(包括0个和1个)序列作为参数,合并后返回一个tuple列表

a=[1,2,3]
b=[4,5,6]
ab=zip(a,b)
print(list(ab)) #需要加list来可视化这个功能
[(1, 4), (2, 5), (3, 6)]
a=[1,2,3]
b=[4,5,6]
ab=zip(a,b)

print(list(ab))

for i,j in zip(a,b):
print(i/2,j*2)
[(1, 4), (2, 5), (3, 6)]
0.5 8
1.0 10
1.5 12

lambda

lambda 定义一个简单的函数,实现简化代码的功能,看代码会更好理解。

fun = lambda x,y : x+y, 冒号前的x,y为自变量,冒号后x+y为具体运算

fun= lambda x,y:x+y
x=int(input('x=')) #这里要定义int整数,否则会默认为字符串
y=int(input('y='))
print(fun(x,y))
x=4
y=6
10

map

map 是把 函数参数 绑定在一起.

def fun(x,y):
return (x+y)

print(list(map(fun,[1],[2])))

list(map(fun,[1,2],[3,4]))
[3]
[4, 6]

Reference


分享到:


  如果您觉得这篇文章对您的学习很有帮助, 请您也分享它, 让它能再次帮助到更多的需要学习的人. 您的支持将鼓励我继续创作 !
本文基于署名4.0国际许可协议发布,转载请保留本文署名和文章链接。 如您有任何授权方面的协商,请邮件联系我。

Contents

  1. zip
  2. lambda
  3. map
  4. Reference