一.funcy模块
1.概述
(1)简介:
funcy模块中封装了一些花哨的实用函数,用于帮助用户以函数式的风格进行编程
(2)安装:
pip install funcy
2.使用
(1)类:
无限计数器:class funcy.count([firstval=0,step=1])
#参数说明:
firstval,step:分别指定起始值/步长;均为int
(2)方法:
展平嵌套数组:fc.flatten(<seq>[,follow=is_seqcont])
#参数说明:
seq:指定数组;为array-like
follow:
#实例:
>>> a=[[[1,2],[3,4]],[5,6,7],[[8,9]]]
>>> fc.flatten(a)
<generator object flatten at 0x000001EC9FFD4270>
>>> for i in fc.flatten(a):
... print(i)
...
1
2
3
4
5
6
7
8
9
######################################################################################################################
在指定数组的各元素间插入新元素:fc.interpose(<sep>,<seq>)
#参数说明:
sep:指定要插入的新元素
seq:指定原数组;为interable
#实例:
>>> for i in fc.interpose(None,[1,2,3,4,5]):
... print(i)
...
1
None
2
None
3
None
4
None
5
######################################################################################################################
删除序列中满足指定条件的元素:fc.remove(<pred>,<seq>)
#参数说明:
pred:指定条件;为function
#传入<seq>中的各个元素,删除<seq>中返回True的位置的元素
seq:指定原序列;为sequence
#实例:
>>> for i in fc.remove(lambda x:x==3,[1,2,3,4,3,2,3,4,5,3]):
... print(i)
...
1
2
4
2
4
5
######################################################################################################################
删除序列中不为指定值的元素:fc.without(<seq>,*<item>)
#参数说明:<seq>同fc.remove()
item:指定要删除的值
#实例:
>>> for i in fc.without([1,2,3,4