gpt4 book ai didi

python - 你能用排序加速 python 中的 "for "循环吗?

转载 作者:行者123 更新时间:2023-11-28 19:40:10 24 4
gpt4 key购买 nike

如果我有一个包含 300k 元素的长未排序列表,是否会先对这个列表进行排序,然后在列表上执行“for”循环来加速代码?无论如何,我都需要做一个“for循环”,不能使用列表理解。

sortedL=[list].sort() 

for i in sortedL:
(if i is somenumber)
"do some work"

我如何向 python 发出 sortedL 已排序而不是读取整个列表的信号。对列表进行排序有什么好处吗?如果有那么我该如何实现?

最佳答案

您似乎正在考虑对列表进行排序,以便您可以快速查找 somenumber

排序是否值得取决于您是要搜索一次还是重复搜索:

  • 如果您只搜索一次,对列表进行排序不会加快速度。只需遍历列表以查找元素,即可完成。

  • 另一方面,如果您需要重复搜索值,请务必对列表进行预排序。这将使您能够使用 bisect快速查找值。

第三种选择是将元素存储在 dict 中。这可能提供最快的查找,但可能比使用列表的内存效率低。

关于python - 你能用排序加速 python 中的 "for "循环吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13941585/

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