存储非矩形数组的最佳方法是什么?

时间:2020-07-05 18:02:06

标签: python multidimensional-array data-structures

我想在Python中存储一个非矩形数组。该数组有数百万个元素,我将对数组中的每个元素应用一个函数,因此我担心性能。我应该使用什么数据结构?我应该使用Python列表还是object类型的numpy数组?还有另一种数据结构会更好吗?

2 个答案:

答案 0 :(得分:2)

您可以使用字典数据结构存储所有内容。如果您有足够的存储空间,那么词典是一个不错的选择。哈希过程使它们更快。

答案 1 :(得分:1)

我建议您使用scipy sparse matrices。 UPD。下面进行详细说明。

我假设“非矩形”表示纯2D数组中将有空元素。拥有数百万个元素将使这些“漏洞”增加内存使用量。稀疏矩阵提供了一种具有熟悉的阵列接口并仅占用必要数量的内存的方法。 尽管如果不需要数组式索引,则字典可以很好地存储。

相关问题