我看到这是一个相当古老的问题,但这看起来像是在不了解语言功能的情况下编写某些东西的时代之一。 collections 库的存在就是为了实现这些目的。
from collections import Counter
letter_counter = Counter()
for letter in 'The quick brown fox jumps over the lazy dog':
letter_counter[letter] += 1
>>> letter_counter
Counter({' ': 8, 'o': 4, 'e': 3, 'h': 2, 'r': 2, 'u': 2, 'T': 1, 'a': 1, 'c': 1, 'b': 1, 'd': 1, 'g': 1, 'f': 1, 'i': 1, 'k': 1, 'j': 1, 'm': 1, 'l': 1, 'n': 1, 'q': 1, 'p': 1, 's': 1, 't': 1, 'w': 1, 'v': 1, 'y': 1, 'x': 1, 'z': 1})
显然,在这个例子中,空格是被计算的,但是否要过滤这些空格取决于你。
至于dict.get(a_key, default_value),这个特定问题有几个答案——这个方法返回键的值,或者你提供的default_value。第一个参数是您要查找的键,第二个参数是该键不存在时的默认值。