Frage von Rodwel, 37

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

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Karacho, 25

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

Antwort
von TheBassHead, 26
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

Kommentar von TheBassHead ,

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())
Antwort
von nanoboot, 18

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

Expertenantwort
von TeeTier, Community-Experte für programmieren, 19

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! :)

Keine passende Antwort gefunden?

Fragen Sie die Community