【发布时间】:2017-06-25 20:18:46
【问题描述】:
通过以下方式初始化列表列表有什么区别
[[0 for i in xrange(n)] for j in xrange(m)]
或
[[0]*n for j in xrange(m)]
从时间性能的角度来看,第一种方式比第二种方式快 4 倍,我想知道第一种方式是否有任何计算/内存使用或分配缺陷。
【问题讨论】:
-
嗨@Ale。不确定你需要这个做什么,但也许问问自己
list是否是正确的数据类型。numpy.ndarray有可能更适合您的应用程序 (docs.scipy.org/doc/numpy-1.12.0/reference/generated/…)。原因之一是列表是可变的,因此您必须知道自己在做什么:stackoverflow.com/questions/8056130/immutable-vs-mutable-types -
@AleksanderLidtke 我只关注无 numpy 的方法。无论如何,谢谢。
标签: performance python-2.7 list memory initialization