accumulate() |
累加器 - 创建一个迭代器,返回相加总值或其他双目运算函数的累积结果值(通过可选的 func 参数指定) |
p [,func] |
p0, p0+p1, p0+p1+p2, ... |
accumulate([1,2,3,4,5]) => 1 3 6 10 15 |
chain() |
连接器 - 创建一个迭代器,连接两个迭代器的元素并逐一返回 |
p, q, ... |
p0, p1, ... plast, q0, q1, ... |
chain('ABC', 'DEF') => A B C D E F |
chain.from_iterable() |
连接器 - 创建一个迭代器,连接迭代器元素并逐一返回 |
iterable |
p0, p1, ... plast, q0, q1, ... |
chain.from_iterable(['ABC', 'DEF']) => A B C D E F |
compress() |
对照过滤器 - 创建一个迭代器,它返回 data 中经 selectors 真值测试为 True 的元素 |
data, selectors |
(d[0] if s[0]), (d[1] if s[1]), ... |
compress('ABCDEF', [1,0,1,0,1,1]) => A C E F |
dropwhile() |
真值截断器 - 创建一个迭代器,如果 predicate 为true,迭代器丢弃这些元素,然后返回剩下的其他元素 |
pred, seq |
seq[n], seq[n+1], ... 从pred首次真值测试失败开始 |
dropwhile(lambda x: x<5, [1,4,6,4,1]) => 6 4 1 |
filterfalse() |
条件过滤器 - 创建一个迭代器,只返回 iterable 中 predicate 为 False的元素 |
pred, seq |
seq中pred(x)为假值的元素,x是seq中的元素。 |
filterfalse(lambda x: x%2, range(10)) => 0 2 4 6 8 |
groupby() |
分组器 - 创建一个迭代器,返回 iterable 中连续的键和组 |
iterable[, key] |
根据 key(v)值分组的迭代器 |
[k for k, g in groupby('AAAABBBCCDAABBB')] => A B C D A B |
islice() |
切片器 - 创建一个迭代器,返回从 iterable 里选中的元素序列 |
seq, [start,] stop [, step] |
seq[start:stop:step]中的元素 |
islice('ABCDEFG', 2, None) => C D E F G |
starmap() |
函数执行器 - 创建一个迭代器,使用从可迭代对象中获取的参数来计算该函数。 |
func, seq |
func(seq[0]), func(seq[1]), ... |
starmap(pow, [(2,5), (3,2), (10,3)]) => 32 9 1000 |
takewhile() |
假值截断器 - 创建一个迭代器,只要 predicate 为真就从可迭代对象中返回元素 |
pred, seq |
seq[0], seq[1], ..., 直到pred真值测试失败 |
takewhile(lambda x: x<5, [1,4,6,4,1]) => 1 4 |
tee() |
拆解器 - 从一个可迭代对象中返回 n 个独立的迭代器。 |
it, n |
it1, it2, ... itn 将一个迭代器拆分为n个迭代器 |
|
zip_longest() |
对应组合器 - 创建一个迭代器,从每个可迭代对象中对应收集元素 |
p, q, ... |
(p[0], q[0]), (p[1], q[1]), ... |
zip_longest('ABCD', 'xy', fillvalue='-') => Ax By C- D- |