all options
bookworm  ] [  sid  ]
[ Source: frozenlist  ]

Package: python3-frozenlist (1.3.3-1 and others)

Links for python3-frozenlist

Screenshot

Debian Resources:

Download Source Package frozenlist:

Maintainers:

External Resources:

Similar packages:

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'}

Other Packages Related to python3-frozenlist

  • depends
  • recommends
  • suggests
  • enhances

Download python3-frozenlist

Download for all available architectures
Architecture Version Package Size Installed Size Files
alpha (unofficial port) 1.3.3-1+b1 28.3 kB176.0 kB [list of files]
amd64 1.3.3-1+b1 29.3 kB112.0 kB [list of files]
arm64 1.3.3-1+b1 27.4 kB112.0 kB [list of files]
armel 1.3.3-1+b1 26.1 kB97.0 kB [list of files]
armhf 1.3.3-1+b1 26.2 kB81.0 kB [list of files]
hppa (unofficial port) 1.3.3-1+b1 28.5 kB107.0 kB [list of files]
i386 1.3.3-1+b1 30.4 kB109.0 kB [list of files]
ia64 (unofficial port) 1.3.3-1+b1 35.1 kB164.0 kB [list of files]
m68k (unofficial port) 1.3.3-1+b1 26.7 kB102.0 kB [list of files]
mips64el 1.3.3-1+b1 26.2 kB114.0 kB [list of files]
mipsel 1.3.3-1+b1 25.8 kB111.0 kB [list of files]
ppc64 (unofficial port) 1.3.3-1+b1 29.8 kB177.0 kB [list of files]
ppc64el 1.3.3-1+b1 29.9 kB176.0 kB [list of files]
riscv64 (unofficial port) 1.3.3-1+b1 26.6 kB92.0 kB [list of files]
s390x 1.3.3-1+b1 27.3 kB108.0 kB [list of files]
sh4 (unofficial port) 1.3.3-1+b1 30.2 kB109.0 kB [list of files]
sparc64 (unofficial port) 1.3.3-1+b1 26.2 kB1,074.0 kB [list of files]
x32 (unofficial port) 1.3.3-1+b1 29.5 kB101.0 kB [list of files]