提供一个实用程序,用于从产生向前(和/或“向后”)元组的iterable构造生成器。
lookahead的Python项目详细描述
在iterable-yielding-look-ahead(和/或 “向后看”)元组。将为每个元素值生成一个元组 可从迭代器访问,包含该元素和 在前面和后面指定的元素。如果没有 元素存在,而没有使用元素。
如果我们把迭代器看作一个列表,这将类似于 追加[none]*lookahead并追加[none]*lookbehind,然后 迭代并返回长度为的滑动窗口 向后看+1+向前看 在这样的列表中,此实现生成(和缓存)前瞻 仅根据需要设置值)。
lookahead()可以用1、2或3个参数调用:
- lookahead(iterable)
- Defaults to lookahead=1, lookbehind=0
- lookahead(iterable, lookahead)
- Defaults to lookbehind=0
- lookahead(iterable, lookbehind, lookahead)
- Notice that lookahead is now the 3rd parameter!
示例语义:
- lookahead(iterable):
- yield (item, next)
- lookahead(iterable, 2):
- yield (item, next, next+1)
- lookahead(iterable, 1, 2):
- yield (prev, item, next, next+1)
- lookahead(iterable, p, n):
- yeild (prev, …, prev+p-1, item, next, …, next+n-1)