2024-04-17 21:59:33 发布
网友
假设我得到一个大小为[1x300]的向量,其中每个元素由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)
在光栅填充形状处理中(通常有较大的均匀区域)经常使用的另一种方法是将数据存储为跨距,即仅存储0或1的每次运行的长度(基本上,它是RLE,每个运行的项目隐式地位于位置中)。您可以任意选择第一个值(所有偶数值)表示0的运行,而第二个值(所有奇数值)表示1的运行
变成
附加到这样一个结构上是微不足道的:
相关问题 更多 >
编程相关推荐