非常に大きなサイズ (たとえば 600 万ビット) のビット配列を宣言するにはどうすればよいですか?
質問する
75340 次
5 に答える
41
from bitarray import bitarray
a = bitarray(2**20)
このモジュールの詳細については、http://pypi.python.org/pypi/bitarray/で確認できます。
于 2012-07-26T12:25:04.443 に答える
10
このワンライナーは、バイトを True/False ビット値のリストに変換します。6M ビットの場合はパフォーマンスが低下する可能性がありますが、小さなフラグの場合は問題なく、追加の依存関係は必要ありません。
>>> flags = bytes.fromhex(b"beef")
>>> bits = [flags[i//8] & 1 << i%8 != 0 for i in range(len(flags) * 8)]
>>> print(bits)
[False, True, True, True, True, True, False, True, True, True, True, True, False, True, True, True]
于 2016-03-22T08:30:12.423 に答える