gpt4 book ai didi

python - 使用 n = len(s) 而不是直接使用 len(s) 是否更快?

转载 作者:太空狗 更新时间:2023-10-30 01:49:55 29 4
gpt4 key购买 nike

通常为了节省一些时间,我希望我们在本地函数中使用 n = len(s)。我很好奇哪个调用更快或者它们相同?

while i < len(s):
# do something

对比

while i < n:
# do something

应该没有太大区别,但是使用len(s),我们需要先到达s,然后调用s.length。这是 O(1) + O(1)。但是使用 n,它是 O(1)。我想是的。

最佳答案

必须更快。

  • 使用 n您正在查看变量(字典)一次。
  • 使用 len(s)您正在寻找两次( len 也是我们必须寻找的功能)。然后调用函数。

也就是说,如果你这样做 while i < n:大多数时候你可以摆脱经典for i in range(len(s)):循环,因为上边界没有改变,并且只在 range 开始时计算一次(这可能会让您想到:为什么我不直接迭代元素或使用 enumerate)

while i < len(s)允许将您的索引与不同的列表进行比较。这就是重点。如果你固定界限,它就会变得不那么有吸引力。

for 中循环,很容易用 continue 跳过增量(很容易忘记增加 i 并以无限的 while 循环结束)

关于python - 使用 n = len(s) 而不是直接使用 len(s) 是否更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53508159/

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