Alle Optionen
bookworm  ] [  trixie  ] [  sid  ]
[ Quellcode: frozenlist  ]

Paket: python3-frozenlist (1.4.0-1 und andere)

Links für python3-frozenlist

Screenshot

Debian-Ressourcen:

Quellcode-Paket frozenlist herunterladen:

Betreuer:

Externe Ressourcen:

Ähnliche Pakete:

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

Andere Pakete mit Bezug zu python3-frozenlist

  • hängt ab von
  • empfiehlt
  • schlägt vor
  • erweitert

python3-frozenlist herunterladen

Download für alle verfügbaren Architekturen
Architektur Version Paketgröße Größe (installiert) Dateien
alpha (inoffizielle Portierung) 1.4.0-1+b1 53,1 kB313,0 kB [Liste der Dateien]
amd64 1.4.0-1+b1 58,6 kB237,0 kB [Liste der Dateien]
arm64 1.4.0-1+b1 52,5 kB313,0 kB [Liste der Dateien]
armel 1.4.0-1+b1 49,0 kB207,0 kB [Liste der Dateien]
armhf 1.4.0-1+b1 51,0 kB167,0 kB [Liste der Dateien]
hppa (inoffizielle Portierung) 1.4.0-1+b1 53,6 kB233,0 kB [Liste der Dateien]
i386 1.4.0-1+b1 59,8 kB239,0 kB [Liste der Dateien]
ia64 (inoffizielle Portierung) 1.4.0-1+b1 68,3 kB410,0 kB [Liste der Dateien]
m68k (inoffizielle Portierung) 1.4.0-1+b1 50,1 kB213,0 kB [Liste der Dateien]
mips64el 1.4.0-1+b1 48,6 kB319,0 kB [Liste der Dateien]
ppc64 (inoffizielle Portierung) 1.4.0-1+b1 57,7 kB317,0 kB [Liste der Dateien]
ppc64el 1.4.0-1+b1 58,5 kB313,0 kB [Liste der Dateien]
riscv64 1.4.0-1+b1 59,0 kB205,0 kB [Liste der Dateien]
s390x 1.4.0-1+b1 58,5 kB245,0 kB [Liste der Dateien]
sh4 (inoffizielle Portierung) 1.4.0-1+b1 62,0 kB307,0 kB [Liste der Dateien]
sparc64 (inoffizielle Portierung) 1.4.0-1+b1 47,2 kB2.111,0 kB [Liste der Dateien]
x32 (inoffizielle Portierung) 1.4.0-1+b1 58,6 kB225,0 kB [Liste der Dateien]