计算string中每个字母的频率

这是一个来自学校的问题。

我做得对,但我猜测会有一个更简单的方法。 这是最简单的方法吗?

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.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})