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.
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! :)
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())
text = "ABCDDDDRDRRR"
print text.count("B")