Python3 函数式编程

Posted zmqqq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3 函数式编程相关的知识,希望对你有一定的参考价值。

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 函数式编程的主要内容,如果未能解决你的问题,请参考以下文章

第三周-第18章节-Python3.5-函数式编程与函数不同

Python3 函数式编程

Python3 Python 函数式编程

函数式编程

Python3 函数式编程

Python3入门——函数式编程