[英]How many times different letters appear in different words?
如何知道字符串s,t和n在以下每個單詞中出現多少次才具有這樣的輸出:
這些單詞不是事先知道的。我想到的第一件事是制作字典,但是對於字典,我們只能有兩個未知數,因此有什么提示如何使用它? 提前致謝。
在Python≥2.7和≥3.1中, 您可以使用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
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
天真的實現:
d = {}
for c in s:
d[c] = s.count(c)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.