码迷,mamicode.com
首页 > 编程语言 > 详细

Python3 函数式编程

时间:2019-03-08 09:20:58      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:span   lse   函数式编程   参数   com   for   cto   python   移动   

1.三元表达式

…if…else…

第一个参数是表达式为True时的结果,第二个是一个布尔表达判断式,第三个是表达式为False的结果

a=1
b=2
x=a if a>b else b
print(x)

输出结果:

技术图片

2.lambda

技术图片

输出结果:

技术图片

3.map

map(函数,可迭代)

a=[1,2,3,1,2,3]
b=[3,2,1,3,2,1]

print(list(map(lambda x,y:x+y,a,b)))

输出结果:

技术图片

4.reduce

Python3中,reduce已经不在全局命名空间,已经被移动到了functools模块里

from functools import reduce
a=[1,2,3,4,5]

print(reduce(lambda x,y:x+y,a))

输出结果:

技术图片

从列表中拿出两个元素进行相加,然后结果作为下一次的输入

5.filter

a=[-1,0,1,-2,3]

print(list(filter(lambda x:True if x>0 else False,a)))

输出结果:

技术图片

用一个三元表达式,过滤掉列表a中小于等于零的元素

6.zip

a=[‘a‘,‘b‘,‘c‘,‘d‘]
b=[‘!‘,‘*‘,‘/‘]

for x,y in zip(a,b):
	print(x,y)

输出结果:

技术图片

zip()在每一个列表里各拿出一个对应元素进行匹配,并且会舍弃不对应的元素

还可以在zip()的参数前面加一个’*’,在每一个元组中提出一列

a=[(1,2),(3,4),(5,6)]
print(list(zip(*a)))

输出结果:

技术图片

这样就可以实现矩阵的转置

Python3 函数式编程

标签:span   lse   函数式编程   参数   com   for   cto   python   移动   

原文地址:https://www.cnblogs.com/zmqqq/p/10493647.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!