1

我将需要创建整数数组的数组,例如[[0,1,2],[4,4,5,7]...[4,5]]. 内部数组的大小可变。内部数组的最大数量是2^26。那么对于更新此数组的最快方法,您有什么建议。当我使用list=[[]] * 2^26初始化非常快但更新非常慢。相反,我使用

list=[] , for i in range(2**26): list.append.([]).

现在初始化很慢,更新很快。例如,对于 16777216 内部数组和 0.213827311993 平均每个数组上的元素数,对于 2^26 元素数组,需要 1.67728900909 秒。这很好,但我会处理更大的数据,因此我需要最好的方法。初始化时间并不重要。谢谢你。

4

1 回答 1

0

你问的问题挺大的。不同的数据结构有不同的属性。一般来说,如果您需要快速访问,请不要使用列表!它们具有线性访问时间,这意味着您放入其中的越多,平均访问元素所需的时间就越长。

你也许可以使用numpy?该库具有可以非常快速地访问的矩阵,并且可以在运行中重新调整。但是,如果要添加或删除行,它可能会有点慢,因为它通常会重新分配(从而复制)整个数据。所以这是一个权衡。

如果你有这么多不同大小的内部数组,也许你可以有一个包含内部数组的字典。我认为如果它由整数索引,它将比列表快得多。然后,可以使用 numpy 创建内部数组。

于 2012-07-17T06:52:34.527 回答