Python函数化编程整理

Posted 灰了个灰

tags:

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

1.映射函数
items=[1,2,3,4,5]
def inc(x):
return x+1
list(map(inc,items))

[2, 3, 4, 5, 6]

>>> a = [i+1 for i in range(3)]
>>> list(map((lambda x:x+5),a))
[5, 6, 7]
 
2.过滤函数
>>> list(filter((lambda x:x>1),a))
[2]
3.规约函数:将列表所有元素依次计算后返回唯一结果
累加:
>>> from functools import reduce
>>> reduce((lambda x,y:x+y),a)
45
累乘
>>> arr = [i+1 for i in range(4)]
>>> reduce((lambda x,y:x*y),arr)
24
4.lamdba函数:匿名函数,其他列子里有不列举
5.列表生成式
>>> a = [i+1 for i in range(3)]
>>> a

[1, 2, 3]

练习:列表[1,2,3,4,5]中过滤奇数。
>>> arr = list(filter((lambda x:x%2==0),[i+1 for i in range(5)]))
>>> arr
[2, 4]
练习:通过两个列表构建字典。
>>> a = [i+1 for i in range(3)]
>>> b = [‘a‘,‘b‘,‘c‘]
>>> c = {i:j for i in a for j in b}
>>> c

{0: ‘c‘, 1: ‘c‘, 2: ‘c‘}

以上是关于Python函数化编程整理的主要内容,如果未能解决你的问题,请参考以下文章