Veo esto es una pregunta bastante antiguo, pero esto se parece a una de esas veces cuando algo se ha escrito sin el conocimiento de una característica del lenguaje. La biblioteca collections
existe para cumplir estos propósitos.
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})
En este ejemplo, los espacios se están contando, obviamente, pero si usted quiere o no los filtrados depende de usted.
En cuanto al dict.get(a_key, default_value)
, ha habido varias respuestas a esta pregunta en particular: este método devuelve el valor de la clave, o el valor predeterminado que usted proporciona. El primer argumento es la clave que está buscando, el segundo argumento es el predeterminado para cuando esa clave no está presente.