簡體   English   中英

不同的單詞在不同的單詞中出現多少次?

[英]How many times different letters appear in different words?

如何知道字符串s,t和n在以下每個單詞中出現多少次才具有這樣的輸出:

  • 描述:s 2,t 1,n 1
  • 陳述s 2,t 3,n 1

這些單詞不是事先知道的。我想到的第一件事是制作字典,但是對於字典,我們只能有兩個未知數,因此有什么提示如何使用它? 提前致謝。

在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM