Wie kann ich im Python die einzelnen Buchstaben zählen?
Eine Frage an euch. Wie kann ich in Python zählen, wie oft kommt welcher Buchstabe in einem Text-File vorkommt?
Danke im voraus Rodwel
4 Antworten
Vom Beitragsersteller 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
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())
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
programmieren
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")