[ 原始碼: frozenlist ]
套件:python3-frozenlist(1.5.0-1 以及其他的)
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'}
其他與 python3-frozenlist 有關的套件
|
|
|
|
下載 python3-frozenlist
硬體架構 | 版本 | 套件大小 | 安裝後大小 | 檔案 |
---|---|---|---|---|
amd64 | 1.5.0-1+b1 | 57。2 kB | 274。0 kB | [檔案列表] |
arm64 | 1.5.0-1+b2 | 52。6 kB | 322。0 kB | [檔案列表] |
armel | 1.5.0-1+b1 | 51。0 kB | 232。0 kB | [檔案列表] |
armhf | 1.5.0-1+b1 | 52。2 kB | 188。0 kB | [檔案列表] |
i386 | 1.5.0-1+b1 | 56。4 kB | 276。0 kB | [檔案列表] |
mips64el | 1.5.0-1+b1 | 49。6 kB | 328。0 kB | [檔案列表] |
ppc64el | 1.5.0-1+b1 | 56。1 kB | 322。0 kB | [檔案列表] |
riscv64 | 1.5.0-1+b1 | 57。7 kB | 226。0 kB | [檔案列表] |
s390x | 1.5.0-1+b1 | 57。3 kB | 270。0 kB | [檔案列表] |