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