numpy数组比Python列表大
问题描述:
在这个问题中Why NumPy instead of Python lists? [closed]似乎每个人都认为比numpy数组更为紧凑的结构。 我试图复制这个,我发现,只有当列表变得巨大时才是真实的。我在python3.5上Ubuntu 12.04numpy数组比Python列表大
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
有人能解释我为什么吗?
答
固定开销。列表和numpy数组都有一个固定大小的数据结构,用于管理容器中的数据。 Numpy有一个稍大的结构,更紧凑的价值存储不会立即克服。
'getsizeof'只测量列表指针的缓冲区,而不是指向的所有对象。这不是一个很好的工具来比较2. – hpaulj
http://*.com/a/33052942/901925 – hpaulj
http://*.com/a/40357378/901925 – hpaulj