gpt4 book ai didi

python - 将字典值分配给变量或连续访问更快?

转载 作者:太空宇宙 更新时间:2023-11-03 20:25:56 26 4
gpt4 key购买 nike

我有一本字典,例如:

d = {'a':'a-val', 'b':'b-val', 'c':'c-long-val'*1000}

我需要重复访问d['c'],如下所示:

print('value of c is', d['c'])
x_queue.put(d['c'])
some_function(d['c'])

但我想知道将 d['c'] 分配给变量并每次使用它是否会更快:

c_value = d['c']` # is this assignment "worth it"?
print('value of c is', c_value)
x_queue.put(c_value)
some_function(c_value)

我的预感是这可能取决于

  • d 中的元素数量(d 越大,查找键的成本越高)
  • d['c'] 的大小(d['c'] 越大,分配成本越高)

但我真的不确定这些选项之一(或另一个?)是否更快更Pythonic

最佳答案

虽然通过键访问字典值的平均时间复杂度为O(1),但在发生后最坏情况的时间复杂度为O(n)计算 key 的哈希值的开销。另一方面,变量赋值及其值的检索需要非常短的恒定时间,因此尽可能避免通过键重新评估字典值。

关于python - 将字典值分配给变量或连续访问更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57825332/

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