gpt4 book ai didi

python - 在python中为字典创建默认值

转载 作者:太空狗 更新时间:2023-10-29 17:24:01 27 4
gpt4 key购买 nike

让我们有一个方法来缓存它计算的结果。

“如果”方法:

def calculate1(input_values):
if input_values not in calculate1.cache.keys():
# do some calculation
result = input_values
calculate1.cache[input_values] = result
return calculate1.cache[input_values]
calculate1.cache = {}

“异常(exception)”方法:

def calculate2(input_values):
try:
return calculate2.cache[input_values]
except AttributeError:
calculate2.cache = {}
except KeyError:
pass
# do some calculation
result = input_values
calculate2.cache[input_values] = result
return result

“获得/拥有”方法:

def calculate3(input_values):

if not hasattr(calculate3, cache):
calculate3.cache = {}

result = calculate3.cache.get(input_values)
if not result:
# do some calculation
result = input_values
calculate3.cache[input_values] = result
return result

还有其他(更快)的方法吗?哪个最 pythonic?你会使用哪一个?

注意:存在速度差异:

calculate = calculateX # depening on test run
for i in xrange(10000):
calculate(datetime.utcnow())

结果 time python test.py:

calculate1: 0m9.579s
calculate2: 0m0.130s
calculate3: 0m0.095s

最佳答案

使用 collections.defaultdict .它正是为此目的而设计的。

关于python - 在python中为字典创建默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4326119/

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