Wie kann ich im Python die einzelnen Buchstaben zählen?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Loop durch den Input, eine Zähler-Variable einfügen und jedes Mal, wenn der Buchstabe vorkommt, erhöhen.

import collections
s = "Der String von dem du die Buchstaben zählen willst"
d = collections.Counter(s)

'd' ist nun ein Counter, wo alle Zeichen mit der Anzahl drin steht(fast das gleiche wie ein Dictionary)

#Standartbibiliothek


TheBassHead  21.09.2016, 17:10

Oh, hab übersehen das du den String aus einer Datei auslesen willst, dann ist es sogar noch einfacher:

import collections
d = collections.Counter(open("Test.txt", "r").read())
1
Die häufigsten 10 Buchstaben in einer Datei absteigend sortiert:
from collections import Counter
import codecs

with codecs.open('datei.txt', 'r', 'utf-8') as fh:
chars = (c for c in fh.read() if not c.isspace())
p = 0

for c, i in Counter(chars).most_common(10):
p += 1
print("Platz #%d: '%c' kommt %d mal vor" % (p, c, i))

Disclaimer: Mangels Zeit NICHT getestet. Müsste aber so funktionieren. Einrückungen sind natürlich korrekt anzupassen! :)

text = "ABCDDDDRDRRR"
print text.count("B")