bool-hybrid-array 9.11.5__py3-none-any.whl → 9.11.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- bool_hybrid_array/__init__.py +1 -1
- bool_hybrid_array/__main__.py +1 -1
- bool_hybrid_array/core.py +7 -3
- {bool_hybrid_array-9.11.5.dist-info → bool_hybrid_array-9.11.7.dist-info}/METADATA +4 -3
- bool_hybrid_array-9.11.7.dist-info/RECORD +10 -0
- bool_hybrid_array-9.11.5.dist-info/RECORD +0 -10
- {bool_hybrid_array-9.11.5.dist-info → bool_hybrid_array-9.11.7.dist-info}/WHEEL +0 -0
- {bool_hybrid_array-9.11.5.dist-info → bool_hybrid_array-9.11.7.dist-info}/licenses/LICENSE +0 -0
- {bool_hybrid_array-9.11.5.dist-info → bool_hybrid_array-9.11.7.dist-info}/top_level.txt +0 -0
bool_hybrid_array/__init__.py
CHANGED
bool_hybrid_array/__main__.py
CHANGED
bool_hybrid_array/core.py
CHANGED
|
@@ -304,6 +304,9 @@ class BoolHybridArray(MutableSequence,Exception,metaclass=ResurrectMeta):
|
|
|
304
304
|
self.size -= 1
|
|
305
305
|
def __str__(self) -> str:
|
|
306
306
|
return f"BoolHybridArr([{','.join(map(str,self))}])"
|
|
307
|
+
def __reversed__(self):
|
|
308
|
+
if not self:return BHA_Iterator([])
|
|
309
|
+
return BHA_Iterator(map(self.__getitem__,range(-1,-1,-1)))
|
|
307
310
|
def insert(self, key: int, value: bool) -> None:
|
|
308
311
|
value = bool(value)
|
|
309
312
|
key = key if key >= 0 else key + self.size
|
|
@@ -325,8 +328,9 @@ class BoolHybridArray(MutableSequence,Exception,metaclass=ResurrectMeta):
|
|
|
325
328
|
self.large.insert(pos, key)
|
|
326
329
|
self.size += 1
|
|
327
330
|
def __len__(self) -> int:
|
|
328
|
-
return self.size
|
|
331
|
+
return int(self.size)
|
|
329
332
|
def __iter__(self):
|
|
333
|
+
if not self:return BHA_Iterator([])
|
|
330
334
|
return BHA_Iterator(map(self.__getitem__,range(self.size)))
|
|
331
335
|
def __next__(self):
|
|
332
336
|
return next(self.generator)
|
|
@@ -342,7 +346,7 @@ class BoolHybridArray(MutableSequence,Exception,metaclass=ResurrectMeta):
|
|
|
342
346
|
else:
|
|
343
347
|
return len(self.large) == self.size-self.split_index-1 or b
|
|
344
348
|
def __bool__(self) -> bool:
|
|
345
|
-
return self.size
|
|
349
|
+
return bool(self.size)
|
|
346
350
|
def __any__(self):
|
|
347
351
|
return T in self
|
|
348
352
|
def __all__(self):
|
|
@@ -845,7 +849,7 @@ class BHA_Queue:
|
|
|
845
849
|
self.a = BoolHybridArr(data,*a,**k)
|
|
846
850
|
self.b = BoolHybridArr([],*a,**k)
|
|
847
851
|
def __str__(self):
|
|
848
|
-
return f"BHA_Queue([{','.join(itertools.chain(
|
|
852
|
+
return f"BHA_Queue([{','.join(itertools.chain(map(str,reversed(self.b)),map(str,self.a)))}])"
|
|
849
853
|
__repr__ = __str__
|
|
850
854
|
def enqueue(self,v):
|
|
851
855
|
self.a.push(v)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: bool-hybrid-array
|
|
3
|
-
Version: 9.11.
|
|
3
|
+
Version: 9.11.7
|
|
4
4
|
Summary: 一个高效的布尔数组(密集+稀疏混合存储,节省内存)
|
|
5
5
|
Home-page: https://github.com/BKsell/bool-hybrid-array
|
|
6
6
|
Author: 蔡靖杰
|
|
@@ -423,7 +423,7 @@ try:
|
|
|
423
423
|
except OverflowError as e:
|
|
424
424
|
print(f"\n❌ NumPy存储失败:{e}")
|
|
425
425
|
|
|
426
|
-
#BHA_Queue(9.11.
|
|
426
|
+
#BHA_Queue(9.11.5版本新增)
|
|
427
427
|
|
|
428
428
|
q = BHA_Queue([T, F, T, T, F])
|
|
429
429
|
|
|
@@ -611,7 +611,8 @@ print(f"出队2个元素后: {q}") # 输出:BHA_Queue([T,T,F,T,F])
|
|
|
611
611
|
* **9.11.3**:修复NameError: name 'lst' is not defined. Did you mean: 'list'?错误
|
|
612
612
|
* **9.11.4**:修复TypeError: __dict__ must be set to a dictionary, not a 'IntHybridArray'的错误
|
|
613
613
|
* **9.11.5**:新增BHA_Queue双栈实现队列
|
|
614
|
-
|
|
614
|
+
* **9.11.6**:修复从9.11.3版本开始cpython用户无法安装bool-hybrid-array包的问题
|
|
615
|
+
* **9.11.7**:修复TypeError: 'map' object is not reversible的错误
|
|
615
616
|
|
|
616
617
|
|
|
617
618
|
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
bool_hybrid_array/__init__.py,sha256=MvnpVFUFs0Dtf69ZsTguNfXP2k1PHhR2e9Hwsz6weR4,1039
|
|
2
|
+
bool_hybrid_array/__main__.py,sha256=pjoWN4Noa_K44fqQPqp8H-diKSDf0Da8hdWFgvWUigQ,9083
|
|
3
|
+
bool_hybrid_array/core.py,sha256=QlAhD8TSRIym76ZjtfYdLsaqtz3Es_dYT754RMQoUoY,40854
|
|
4
|
+
bool_hybrid_array/秘密.md,sha256=Ii2NvXmv-Ktu04zJsGLcQZvlzT4gOatByE4B2wTK1Ks,48
|
|
5
|
+
bool_hybrid_array/int_array/__init__.py,sha256=HPBdZu5qlXaRI4n_oK6WhnG4ml8H-FP1G44igVxPJIA,6225
|
|
6
|
+
bool_hybrid_array-9.11.7.dist-info/licenses/LICENSE,sha256=Sg4rnGXkBDYkwJCWyxdWp5H60rhVAxpNvFh_l3JWZdY,1070
|
|
7
|
+
bool_hybrid_array-9.11.7.dist-info/METADATA,sha256=Dsk-thuJ8y4ikh_JK2Ckht-ar5WhiwJow68-mLH_zL0,25858
|
|
8
|
+
bool_hybrid_array-9.11.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
9
|
+
bool_hybrid_array-9.11.7.dist-info/top_level.txt,sha256=vk-TD77wuVQsN1rJ6uVWZX4sC_wya_WplRDwQKJoBZM,18
|
|
10
|
+
bool_hybrid_array-9.11.7.dist-info/RECORD,,
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
bool_hybrid_array/__init__.py,sha256=sG_d3M51dqeKg_IMEp5Ucs0lZK4ZX7mwW8yk2grdgBU,1039
|
|
2
|
-
bool_hybrid_array/__main__.py,sha256=aYaQxqbOAddcpxcujUC53g9s1w-2E2EjLt24nBHxBKI,9084
|
|
3
|
-
bool_hybrid_array/core.py,sha256=AUFAN-Nlg8hSVafXI7CmFdDJ4i0xVuYiCnjhZqMas1E,40647
|
|
4
|
-
bool_hybrid_array/秘密.md,sha256=Ii2NvXmv-Ktu04zJsGLcQZvlzT4gOatByE4B2wTK1Ks,48
|
|
5
|
-
bool_hybrid_array/int_array/__init__.py,sha256=HPBdZu5qlXaRI4n_oK6WhnG4ml8H-FP1G44igVxPJIA,6225
|
|
6
|
-
bool_hybrid_array-9.11.5.dist-info/licenses/LICENSE,sha256=Sg4rnGXkBDYkwJCWyxdWp5H60rhVAxpNvFh_l3JWZdY,1070
|
|
7
|
-
bool_hybrid_array-9.11.5.dist-info/METADATA,sha256=mvCQkH25HwZme09MdqJmFVSiAjzpQDrHx7ui9TvqQhc,25690
|
|
8
|
-
bool_hybrid_array-9.11.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
9
|
-
bool_hybrid_array-9.11.5.dist-info/top_level.txt,sha256=vk-TD77wuVQsN1rJ6uVWZX4sC_wya_WplRDwQKJoBZM,18
|
|
10
|
-
bool_hybrid_array-9.11.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|