dwww Home


Documentation related to python3-frozenlist

Package: python3-frozenlist

Description: list-like structure which implements collections.abc.MutableSequence
`frozenlist.FrozenList` is a list-like structure which implements `collections.abc.MutableSequence`. The list is mutable until `FrozenList.freeze` is called, after which list modifications raise `RuntimeError`:
 >>> from frozenlist import FrozenList
 >>> fl = FrozenList([17, 42])
 >>> fl.append('spam')
 >>> fl.append('Vikings')
 >>> fl
 <FrozenList(frozen=False, [17, 42, 'spam', 'Vikings'])>
 >>> fl.freeze()
 >>> fl
 <FrozenList(frozen=True, [17, 42, 'spam', 'Vikings'])>
 >>> fl.frozen
 True
 >>> fl.append("Monty")
 Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "frozenlist/_frozenlist.pyx", line 97, in frozenlist._frozenlist.FrozenList.append
 self._check_frozen()
 File "frozenlist/_frozenlist.pyx", line 19, in frozenlist._frozenlist.FrozenList._check_frozen
 raise RuntimeError("Cannot modify frozen list.")
 RuntimeError: Cannot modify frozen list.
FrozenList is also hashable, but only when frozen. Otherwise it also throws a RuntimeError:
 >>> fl = FrozenList([17, 42, 'spam'])
 >>> hash(fl)
 Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "frozenlist/_frozenlist.pyx", line 111, in frozenlist._frozenlist.FrozenList.__hash__
 raise RuntimeError("Cannot hash unfrozen list.")
 RuntimeError: Cannot hash unfrozen list.
 >>> fl.freeze()
 >>> hash(fl)
 3713081631934410656
 >>> dictionary = {fl: 'Vikings'} # frozen fl can be a dict key
 >>> dictionary
 {<FrozenList(frozen=True, [1, 2])>: 'Vikings'}
Homepage: https://github.com/aio-libs/frozenlist
copyright | changelog | Debian changelog

Other documents:

/usr/share/doc/python3-frozenlist

Generated by dwww version 1.16 on Tue Dec 16 11:32:19 CET 2025.