Python für eine Datei eine Zeichen-Statistik erstellen-also welche Zeichen kommen vor und wie oft?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
import collections

fn = r"C:\Users\#Mein Name\Desktop\inv_debian95.txt"

with open(fn, "rt") as fl:
    hist=collections.Counter(fl.read())

Noch als Nachtrag:

for char, count in sorted(hist.items()):
    print(....) # pretty print histogram
                # use ord(char) for char's ordinal value

Du brauchst also etwas, das jedem gefundenen Zeichen eine Zahl zuordnet. Und dafür gibt's natürlich einen Datentyp: das Dictionary.

Du kannst dir aber auch das Leben mit der Counter-Klasse vereinfachen.

Ich würde das ganze so angehen:

  • erstelle ein Dict
  • iteriere über jedes Zeichen des Strings
  • Ist das Zeichen noch nicht als Key im Dict erhalten, füge es hinzu und setze den Wert auf 1
  • Ist das Zeichen im Dict, erhöhe den Wert um 1