Python 如何将1位数据与8位数据相结合?

Python 如何将1位数据与8位数据相结合?,python,arrays,python-3.x,numpy,binary,Python,Arrays,Python 3.x,Numpy,Binary,我有一个数组,其中大部分包含0:s和1:s,但有些值最多为255。所以我必须将它们存储在UINT8中。有没有一种方法可以用1位存储1:s和0:s?我应该把数组分成两部分吗 这是阵列的一部分 array([[[ 0, 0, 0], [ 0, 0, 0], [ 1, 1, 1], [ 0, 0, 1], [ 0, 0, 0], [ 1,

我有一个数组,其中大部分包含0:s和1:s,但有些值最多为255。所以我必须将它们存储在UINT8中。有没有一种方法可以用1位存储1:s和0:s?我应该把数组分成两部分吗

这是阵列的一部分

array([[[   0,    0,    0],
        [   0,    0,    0],
        [   1,    1,    1],
        [   0,    0,    1],
        [   0,    0,    0],
        [   1,    1,    0],
        [   0,    0,    0],
        [   4,    4,    4],
        [  12,   13,   10],
        [  19,   19,   19],
        [  25,   25,   23]]], dtype=uint8)

如果可以将位与字节分开,那么这可能会更有效。您仍然需要将位收集到字节中以实际存储或传输它们。如果它们只是程序中的值,那就不用麻烦了。如果你想保存memmory,你可以使用稀疏数组。这听起来对我来说可能是过早的优化,尽管@SebastianR。说你可以使用稀疏数组。