gpt4 book ai didi

Python 列表切片性能

转载 作者:太空宇宙 更新时间:2023-11-04 10:37:52 25 4
gpt4 key购买 nike

我发现后者效率更高(快几个数量级)。这有什么理由吗?它是在 Python 2.7 中完成的。

block = data[y * block_length:y * (block_length + 1)] # Slow

对比

block = [data[y * block_length + z] for z in xrange(block_length)] # Fast

编辑:

使用 Numpy(这可能是原因),请参阅 http://pastebin.com/88KkWd79 处的代码使用 time python test.py atime python test.py b 运行它,随着功率变大,函数 b 开始花费更多、更长的时间。

最佳答案

第一个应该快得多。但是,请注意,这两个列表并不等同。第一个有 y 条目,而第二个有 block_length 条目。如果 y 非常大(即因为您将一个很长的列表拆分成相对较小的 block ),这可能是运行时间差异的原因。

可能你的意思是:

block = data[y * block_length : (y + 1) * block_length]

关于Python 列表切片性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22482062/

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