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

考虑以下
Python代码,迭代一个单词数组并将它们计入字典a [‘words’]

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

问题是,是否在Python中优化了对[‘words’]的重复访问,使得[‘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}}
点赞