如何知道字符串s,t和n出现在以下每个单词中的次数,以获得如下输出:
这些单词事先不知道。我想到的第一件事就是制作一本字典,但对于字典我们只能有两个未知数,所以任何提示如何处理它? 提前谢谢。
答案 0 :(得分:2)
Python≥2.7且≥3.1you could use collections.Counter
。
>>> from collections import Counter
>>> Counter("descriptions")
Counter({'i': 2, 's': 2, 'c': 1, 'e': 1, 'd': 1, 'o': 1, 'n': 1, 'p': 1, 'r': 1, 't': 1})
(对于Python≥2.5,http://code.activestate.com/recipes/576611/中有一个实现。)
Counter类具有通常的字典界面,因此您可以使用x['n']
来获取计数。
>>> print("%s %s, %s %s, %s %s" % ('s', _['s'], 't', _['t'], 'n', _['n']))
s 2, t 1, n 1
答案 1 :(得分:1)
from collections import defaultdict
def counter(STRING):
h=defaultdict(int)
for i in STRING:
if i in "stn":
h[i]+=1
return h
for s in ['description','statements']:
k=counter(s)
print k + " for " + s
答案 2 :(得分:0)
天真的实施:
d = {}
for c in s:
d[c] = s.count(c)