计算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})