gpt4 book ai didi

python - 如何预分配列表列表?

转载 作者:太空狗 更新时间:2023-10-29 18:16:33 24 4
gpt4 key购买 nike

我正在使用以下代码创建列表列表:

zeroArray = [0]*Np
zeroMatrix = []
for i in range(Np):
zeroMatrix.append(zeroArray[:])

有没有更有效的方法来做到这一点?我希望得到类似 zeroArray = [0]*Np; 的东西。 zeroMat = zeroArray*Np 但找不到类似的东西。

最佳答案

也许你应该考虑使用 NumPy .看起来你正在做数字工作,这就是它的目的。这是迄今为止最快的,不包括导入语句:

import numpy
Np = 80
zeroMatrix = numpy.zeros((Np, Np))

时间:

>python -m timeit -s "import numpy; Np = 80" "zeroMatrix = numpy.zeros((Np, Np))"
100000 loops, best of 3: 4.36 usec per loop

>python -m timeit -s "Np = 80" "zeroArray = [0]*Np" "zeroMatrix = [None] * Np" "for i in range(Np):" " zeroMatrix[i] = zeroArray[:]"
10000 loops, best of 3: 62.5 usec per loop

>python -m timeit -s "Np = 80" "zeroMatrix = [[0] * Np for i in range (Np)]"
10000 loops, best of 3: 77.5 usec per loop

>python -m timeit -s "Np = 80" "zeroMatrix = [[0 for _ in range(Np)] for _ in range(Np)]"
1000 loops, best of 3: 474 usec per loop

关于python - 如何预分配列表列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5347108/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com