python3-frozenlist - 1.5.0-1+b2 main

`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

>>> fl.freeze()
>>> fl

>>> fl.frozen
True
>>> fl.append("Monty")
Traceback (most recent call last):
File "", line 1, in
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 "", line 1, in
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
{: 'Vikings'}

Priority: optional
Section: python
Suites: crimson dawn landing 
Maintainer: Debian Python Team <team+python [꩜] tracker.debian.org>
 
Homepage Source Package
 

Dependencies

Installed Size: 329.7 kB
Architectures: arm64  amd64 

 

Versions

1.5.0-1+b2 arm64 1.5.0-1+b1 amd64 1.5.0-1+b1 arm64 1.5.0-1 arm64 1.5.0-1 amd64