Skip to main content
PyCon US is happening May 14th-22nd in Pittsburgh, PA USA.  Learn more

collections.defaultdict equivalent implementation of list.

Project description

https://badge.fury.io/py/defaultlist.svg https://travis-ci.org/c0fec0de/defaultlist.svg?branch=master https://coveralls.io/repos/github/c0fec0de/defaultlist/badge.svg https://readthedocs.org/projects/defaultlist/badge/?version=1.0.0 https://codeclimate.com/github/c0fec0de/defaultlist.png https://img.shields.io/pypi/pyversions/defaultlist.svg https://landscape.io/github/c0fec0de/defaultlist/master/landscape.svg?style=flat

Documentation

The Documentation is hosted on http://defaultlist.readthedocs.io/en/1.0.0/

Getting started

List extending automatically to the maximum requested length.

Added indicies are filled with None by default.

>>> from defaultlist import defaultlist
>>> l = defaultlist()
>>> l
[]
>>> l[2] = "C"
>>> l
[None, None, 'C']
>>> l[4]
>>> l
[None, None, 'C', None, None]

Slices and negative indicies are supported likewise

>>> l[1:4]
[None, 'C', None]
>>> l[-3]
'C'

Simple factory functions can be created via lambda.

>>> l = defaultlist(lambda: 'empty')
>>> l[2] = "C"
>>> l[4]
'empty'
>>> l
['empty', 'empty', 'C', 'empty', 'empty']

Installation

To install the defaultlist module run:

pip install defaultlist

If you do not have write-permissions to the python installation, try:

pip install defaultlist --user

Supported by

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