Skip to main content

iterlist

Lazily evaluated lists in Python

An iterlist.IterList accepts a single iterable as its only constructor argument.

The iterlist.IterList behaves as a normal list, and will only evaluate the iterable as needed to satisfy requests for element.

If there is a request for index [5], then elements 0 - 5 will be evaluated if they have not been yet. Certain operations like len and negative indexing will force the list to be evaluated. This decision was made to make the iterlist outwardly appear as much like a normal list as possible.

Infinite Iterators

This implementation does not make any attempt to protect you from running out of memory attempting to construct a list from an infinite iterator. A future version may implement InfiniteIterList, which will not have support for any operation which would require consuming the entire iterable.

License

BSD 2-clause (inherited from lazylist)

Prior Work

Apparently this is not a new idea...

Forked from: https://github.com/ryanhaining/lazylist (2014/10)

http://stupidpythonideas.blogspot.com/2014/07/lazy-python-lists.html (2014/07)

http://code.activestate.com/recipes/576410-lazy-lists/ (2008/08)

http://www.logarithmic.net/pfh/blog/01193268742 (unknown)

Metadata

Release files for iterlist 0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iterlist 0.4
File Size Uploaded
iterlist-0.4.tar.gz 10.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iterlist 0.4
File Interpreter ABI Platform
iterlist-0.4-py3-none-any.whl Python 3 none any Details

Total release size: 16.0 kB

Release files / iterlist-0.4.tar.gz

Download URL iterlist-0.4.tar.gz
Size 10.1 kB
Tags Source
SHA-256 checksum
How to use checksums
bae41e52d3c90f001ba009c349f1bc550f5409901fe628e87ac68c716cd877bc
BLAKE2b-256 checksum
How to use checksums
91e2b52f9a1f5b59b136f21e0ad99ba502f7f97fb90de43ea56ec9c112d4a561
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

Release files / iterlist-0.4-py3-none-any.whl

Download URL iterlist-0.4-py3-none-any.whl
Size 6.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ac8db5cec4245e6ab1a1b65a5a103e1561352213b4e648bef6d7556d59987bc8
BLAKE2b-256 checksum
How to use checksums
2df4617947388eae627f55566b6f0f156252f51155e8a60c8f0868867947aef9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

Release history Release notifications | RSS feed

This release

0.4 This release

2 release files

0.3

2 release files

0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page