gpt4 book ai didi

python - 压缩由0和1组成的长向量

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:40:02 24 4
gpt4 key购买 nike

假设我有一个大小为 [1 x 300] 的向量,其中每个元素都由 0 或 1 组成。我可能需要在运行时迭代地存储这些元素。我如何有效地表示它以便我可以有效地存储它们 (python)?


我想有两种方法可以做到这一点。第一种方法是做位图之类的事情(他们甚至在 python 中有这个)吗?

第二种方法我在想也许是存储 1 的位置。

例如。 [0, 1, 1, 1]。我将它们存储为 [1,2,3]。

有什么想法吗?

最佳答案

光栅填充形状处理(通常有较大的均匀区域)中经常使用的替代方法是将数据存储为跨度,即仅存储每次运行 0 或 1 的长度(本质上,它是 RLE 与项目每次运行都隐含在位置中)。您可以任意选择第一个值(以及所有偶数值)代表一系列 0,而第二个值(以及所有奇数值)代表一系列 1。所以,像

0 0 0 0 0 1 1 0 0 0 1 1 1 1

成为

5 2 3 4

附加到这样的结构是微不足道的:

def append(l, value):
cur = (len(l) + 1) % 2
if value == cur:
l[-1] += 1
else:
l.append(1)

关于python - 压缩由0和1组成的长向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51587960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com