Source code for collections_extended

'''collections_extended contains a few extra basic data structures'''

__version__ = '0.1.4'

from .bags import bag, frozenbag
from .setlists import setlist, frozensetlist

__all__ = ['collection', 'setlist', 'frozensetlist', 'bag', 'frozenbag']


[docs]def collection(it=(), mutable=True, ordered=False, unique=False): """ Return a Collection with the specified properties. """ if unique: if ordered: if mutable: return setlist(it) else: return frozensetlist(it) else: if mutable: return set(it) else: return frozenset(it) else: if ordered: if mutable: return list(it) else: return tuple(it) else: if mutable: return bag(it) else: return frozenbag(it)