Skip to main content

Provides a utility for constructing generators out of an iterable that yield look-ahead (and/or “look-behind”) tuples.

Project description

Constructs a generator over the iterable yielding look-ahead (and/or “look-behind”) tuples. One tuple will be generated for each element value accessible from the iterator, containing that element and the number of elements specified just prior to and immediately after. When no such element exists, the None is used instead.

If one were to think of iterator as a list, this is would be similar to appending [None]*lookahead and prepending [None]*lookbehind, then iterating over and returning a sliding window of length lookbehind+1+ lookahead (except of course that instead of generating the such a list, this implementation generates (and caches) lookahead values only as needed).

lookahead() may be called with 1, 2, or 3 parameters:

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!

Example semantics:

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)

Project details


Release history Release notifications | RSS feed

This version

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lookahead-1.0.tar.gz (2.4 kB view details)

Uploaded Source

File details

Details for the file lookahead-1.0.tar.gz.

File metadata

  • Download URL: lookahead-1.0.tar.gz
  • Upload date:
  • Size: 2.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for lookahead-1.0.tar.gz
Algorithm Hash digest
SHA256 a5e5ad434252db047147253f68a2c79e3434eb640bed43cf22dcf7e8de49e7c7
MD5 933691003989e2b5cabb9bbe762954f7
BLAKE2b-256 2d5c13000c7e4deb6fd2e288501a9892d2a13015d06fdac319649931424f9ae2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page