【发布时间】:2018-04-01 22:30:14
【问题描述】:
我的教授总是使用列表;我很好奇这是否更快。
我的意思是:
np.zeros((10, 10))
或者这个:
np.zeros([10, 10])
喜欢?一个比另一个快吗?
【问题讨论】:
-
没关系,也没理由在意。
标签: python arrays performance numpy
我的教授总是使用列表;我很好奇这是否更快。
我的意思是:
np.zeros((10, 10))
或者这个:
np.zeros([10, 10])
喜欢?一个比另一个快吗?
【问题讨论】:
标签: python arrays performance numpy
差异肯定是微不足道的,但元组基本上倾向于更优化。因为元组是不可变的对象,为了获得这一点,它们不得不放弃一些使它们在某些情况下得到优化的特性。在这种情况下,您可以简单地对两个 sn-ps 进行基准测试:
In [81]: %timeit np.zeros((10, 10))
447 ns ± 20.2 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
In [82]: %timeit np.zeros([10, 10])
491 ns ± 3.3 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
它表明使用列表会慢约 50 纳秒,这对您的日常编程任务没有任何影响。除非你是量子物理学家;)。
【讨论】: