与计数器、序列和iterables有关的东西。
cs.seq的Python项目详细描述
与计数器、序列和iterables有关的东西。
注意,任何接受iterable的函数 将使用部分或全部派生迭代器 在它发挥作用的过程中。
函数first(iterable)
从iterable返回第一个项;在空iterable上引发索引器错误。
函数get0(iterable, default=None)
返回iterable的第一个元素或默认值。
函数imerge(*iters, **kw)
按顺序合并有序iterable的iterable。
参数:
iters
:一个Iterable of iteratorsreverse
:关键字参数:如果为true,则按相反顺序生成项。 这就要求他们自己也在 颠倒顺序。
此函数依赖于正在排序的源iterable 它们的元素是可比的 iterables(例如,从web服务器日志中提取) 只会产生轻微的无序结果,因为合并 是在每个iterable的前元素的基础上完成的。
函数isordered(s, reverse=False, strict=False)
测试是否已订购iterable。 注意iterable是迭代的,所以这是一个破坏性的 测试非序列。
函数last(iterable)
返回iterable中的最后一项;在空iterable上引发索引器错误。
函数onetomany(func)
用于序列方法的修饰符,用于合并 将序列的每个元素传递给函数,应为 返回多个值。
示例:
class X(list):
@onetomany
def chars(self, item):
return item
strs = X(['Abc', 'Def'])
all_chars = X.chars()
函数onetoone(func)
用于序列方法的修饰符,用于合并 将序列的每个元素传递给函数,应为 单值返回。
示例:
class X(list):
@onetoone
def lower(self, item):
return item.lower()
strs = X(['Abc', 'Def'])
lower_strs = X.lower()
类Seq
itertools.count()的线程安全包装。
函数seq()
返回一个新的序列值。
类StatefulIterator
一个简单的迭代器,它包装另一个迭代器以公开某些跟踪状态。
它有两个属性:
.it
:应该产生(item,new_state)
的内部迭代器。
.state
:内部迭代器的最后一个状态值
最初的用例是通过独立的 通常是顺序的调用,具体来说是.read 类文件对象的方法。原始顺序读取需要 在每次调用时查找数据的底层存储,甚至 尽管上一个调用刚刚为 以前读过。保存之前使用的迭代器 调用允许迭代器直接获取 同时,补偿没有被篡改。
函数tee(iterable, *Qs)
从iterable中产生项的生成器 它还将这些项复制到一系列队列中。
参数:
iterable
:要复制的iterableQs
:接受.put
方法的队列、对象。
注意:该项在每个队列上都是.put
在从这个发电机里出来之前。
函数the(iterable, context=None)
返回iterable的第一个元素,但要求 正好一个。
类TrackingCounter
计数器的一种包装器,可以递增或递减。
提供了等待计数器达到特定值的工具。
inc和.dec方法还接受一个tag
参数来保持
基于标记的个别计数,以帮助调试。
TOdo:将strict
选项添加到error,如果有计数器尝试,则中止
在零度以下。