Python字典,如果在列表中多次出现,则为key添加一个新值

时间:2011-09-19 09:01:13

标签: python dictionary

我试图将一串字母拆分成一个字典,该字典会为每个出现不止一次的字母自动添加+1值。

唯一的问题是我的代码为每个键添加+1值...例如,如果我输入:“aasf”dict将是:a:2,s:2,f:2 ... Whats错??

word = raw_input("Write letters: ")
chars = {}

for c in word:
    chars[c] = c.count(c)
    if c in chars:
        chars[c] += 1
print chars

2 个答案:

答案 0 :(得分:3)

Python 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53) 
>>> from collections import Counter
>>> Counter('count letters in this sentence')
Counter({'e': 5, 't': 5, ' ': 4, 'n': 4, 's': 3, 'c': 2, 'i': 2, 'h': 1, 'l': 1, 'o': 1, 'r': 1, 'u': 1})
>>> 

答案 1 :(得分:1)

你必须使用

chars[c] = words.count(c)

OR

chars[c] += 1

但不是两者。