Подсчет частоты каждой буквы в строке

Это вопрос из детских школ.

Я все понял, но я предполагаю, что будет более простой метод. Это самый простой способ сделать это?

def countLetters(word): letterdict={} for letter in word: letterdict[letter] = 0 for letter in word: letterdict[letter] += 1 return letterdict 

Это должно выглядеть примерно так:

 >>> countLetters('google') {'e': 1, 'g': 2, 'l': 1, 'o': 2} 

2 Solutions collect form web for “Подсчет частоты каждой буквы в строке”

В версии 2.7+:

 import collections letters = collections.Counter('google') 

Раньше (2.5+, это уже до сих пор):

 import collections letters = collections.defaultdict(int) for letter in word: letters[letter] += 1 
 >>> import collections >>> print collections.Counter("google") Counter({'o': 2, 'g': 2, 'e': 1, 'l': 1}) 
  • слияние «нескольких» словарей python
  • Строка для словаря в Python
  • Python Json загружает () возвращающую строку вместо словаря?
  • Как проверить, содержит ли словарь определенные ключи
  • Создание списка словарей в python
  • Как сделать отсортированный класс словаря?
  • Большинство Pythonic способ читать значения csv в dict списков
  • Отображение std :: map в Python
  • Python - лучший язык программирования в мире.