初始化列表列表的最佳方法

时间:2017-06-25 20:18:46

标签: performance python-2.7 list memory initialization

通过

初始化列表列表有什么不同
  1. [[0 for i in xrange(n)] for j in xrange(m)]
    1. [[0]*n for j in xrange(m)]
    2. 从时间性能的角度来看,第一种方式比第二种方式快4倍,我想知道第一种方式是否有任何计算/内存使用或分配缺陷。

1 个答案:

答案 0 :(得分:1)

  

列表推导提供了创建列表的简明方法。共同   应用程序将创建新列表,其中每个元素都是结果   一些操作应用于另一个序列的每个成员或   可迭代的,或创建满足a的元素的子序列   某种条件。

第一种方法比第二种方法慢,因为在每次循环迭代中都会执行 no-op

P.S。如果要初始化具有常量值(k)的列表列表,那么理想和最快的方法是使用numpy debounce (func, wait, immediate) { let timeout return function () { const context = this const args = arguments const later = function () { timeout = null if (!immediate) func.apply(context, args) } const callNow = immediate && !timeout clearTimeout(timeout) timeout = setTimeout(later, wait) if (callNow) func.apply(context, args) } }