gpt4 book ai didi

python - 是否在 Python 中优化了重复字典访问

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

考虑以下 Python 代码,它遍历单词数组并将它们计入字典 a['words']

a['words'] = {}
for word in words:
if word not in a['words']:
a['words'][word] = 0
a['words'][word] += 1

问题是,是否在 Python 中优化了对 a['words'] 的重复访问,以 a['words'] 的引用的方式进行了优化会自动保存在某处直到更改,或者我应该自己编写“优化”代码,这样:

a['words'] = {}
words_dict = a['words']
for word in words:
if word not in words_dict:
words_dict[word] = 0
words_dict[word] += 1

最佳答案

好的解决方案是 collections.Counter因为它是高性能容器:

from collections import Counter
words = ['aaa', 'bbb', 'ccc', 'ddd', 'aaa', 'bbb', 'eee']
a = {'words' : dict(Counter(words))}
a
#{'words': {'aaa': 2, 'bbb': 2, 'ccc': 1, 'ddd': 1, 'eee': 1}}

关于python - 是否在 Python 中优化了重复字典访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49507868/

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