Python在最短的序列参数终止时停止迭代

2023-12-13 7:12:37 网络知识 匿名

chain(p,q,...)

迭代至序列p的最后一个元素后,从q的第一个元素开始,直到所有序列终止。

chain('ABC','DEF')-->ABCDEF

compress(data,selectors)

如果bool(selectors[n])为True,则next()返回data[n],否则跳过data[n]。

compress('ABCDEF',[1,0,1,0,1,1])-->ACEF

dropwhile(pred,seq)

当pred对seq[n]的调用返回False时才开始迭代。

dropwhile(lambdax:x<5,[1,4,6,4,1])-->641

takewhile(pred,seq)

dropwhile的相反版本。

takewhile(lambdax:x<5,[1,4,6,4,1])-->14

ifilter(pred,seq)

内建函数filter的迭代器版本。

ifilter(lambdax:x%2,range(10))-->13579

ifilterfalse(pred,seq)

ifilter的相反版本。

ifilterfalse(lambdax:x%2,range(10))-->02468

imap(func,p,q,...)

内建函数map的迭代器版本。

imap(pow,(2,3,10),(5,2,3))-->3291000

starmap(func,seq)

将seq的每个元素以变长参数(*args)的形式调用func。

starmap(pow,[(2,5),(3,2),(10,3)])-->3291000

izip(p,q,...)

内建函数zip的迭代器版本。

izip('ABCD','xy')-->AxBy

izip_longest(p,q,...,fillvalue=None)

izip的取最长序列的版本,短序列将填入fillvalue。

izip_longest('ABCD','xy',fillvalue='-')-->AxByC-D-

tee(it,n)

返回n个迭代器it的复制迭代器。

groupby(iterable[,keyfunc])

这个函数功能类似于SQL的分组。使用groupby前,首先需要使用相同的keyfunc对iterable进行排序,比如调用内建的sorted函数。然后,groupby返回迭代器,每次迭代的元素是元组(key值,iterable中具有相同key值的元素的集合的子迭代器)。或许看看Python的排序指南对理解这个函数有帮助。

groupby([0,0,0,1,1,1,2,2,2])-->(0,(000))(1,(111))(2,(222))

以上内容为大家介绍了Python在最短的序列参数终止时停止迭代,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:瀚银百科。

发表评论: