2016-05-08 9 views
-2

Mit Regex möchte ich den spezifischen Buchstaben zählen. Ich habe ein Match-Objekt wie unten gemacht. aber ich weiß nicht, wie ich seine Frequenz zählen soll. Die meisten der Zählbeispiele waren Wörter, daher konnte ich keine gute Referenz dafür finden.Wie kann ich bestimmte Buchstaben abgleichen und ihre Häufigkeit zählen?

f = open("C:\Python27\test.txt") 
raw_sentence = f.read 
upper_sentence = raw_sentence.upper() 
match = re.findall(r"A", upper_sentence) 

Sollte ich einige Listendaten genau wie andere Word-Zählcodes machen?

+0

Der Titel über Brief und Beschreibung ist über Wort, welches es ist ? Eine Beispieleingabe und erwartete Ausgabe wäre ebenfalls hilfreich. – niemmi

+0

Entschuldigung es war Brief. Und das Ergebnis, das ich will, ist wie "A: 3", "B: 6" so –

+0

Mögliches Duplikat von gestern: [Wie kann ich Histogrammnummer mit Paaren erhalten, indem ich Pythoncode verwende?] (Http://stackoverflow.com/questions/37084670/how-can-i-get-histogramm-nummer-mit-pair-by-using-python-code /) – John1024

Antwort

1

Verwenden Sie einfach str.count:

raw_sentence.upper().count('A') 

Wenn Sie zählt von mehreren Elementen, ist es besser zu nutzen collections.Counter:

>>> s = 'abcabcsdab' 
>>> import collections 
>>> collections.Counter(s) 
Counter({'a': 3, 'b': 3, 'c': 2, 'd': 1, 's': 1}) 
Verwandte Themen