numpy数组大于python列表

时间:2016-11-21 08:24:16

标签: python-3.x numpy

在这个问题Why NumPy instead of Python lists? [closed]中,每个人似乎都认同numpy数组是一个更紧凑的结构。 我尝试复制这个,我发现只有当列表变得庞大时才会这样。我在python3.5 ubuntu 12.04

import sys
from numpy getsizeof

a = [1.0,2.0,3.0,4.0]
print(getsizeof(a))  # 96
print(getsizeof(numpy.array(a)))  # 128

a = list(range(1000))
print(getsizeof(a))  # 9112
print(getsizeof(numpy.array(a)))  # 8096

有人可以解释我为什么吗?

1 个答案:

答案 0 :(得分:2)

修正了开销。列表和numpy数组都有固定大小的数据结构,用于管理容器中的数据。 Numpy有一个稍大的结构,更紧凑的值存储不会立即克服。