Seite 1 von 1

Python String Komposition mit Liste zählen

Verfasst: Mittwoch 12. Januar 2022, 17:11
von kdlll1
Hi,

ich habe folgendes Problem, als Beispiel mal: ich möchte eine Funktion schreiben, mit der ich die Zusammensetzung eines Strings zählen kann. was ich damit meine ist, dass ich eine Liste: buchstaben = [a,b,c,d,e..] habe, die alle Buchstaben des Alphabets enthält. Wenn ich nun einen beliebigen Satz als String habe, möchte ich als Output eine Übersicht haben, die quasi aufzählt wie oft jeder Buchstabe vorkam.
Ist das Ergebnis als Liste zusammenzufassen? Da bin ich mir leider ebenfalls nicht sicher, vielleicht weiß ja jemand weiter.

Vielen Dank und schönen Abend noch!!

Re: Python String Komposition mit Liste zählen

Verfasst: Mittwoch 12. Januar 2022, 17:18
von __deets__
Das klingt nach einem Histogram, und das wuerde ich in Python mit collections.Counter bauen.

Re: Python String Komposition mit Liste zählen

Verfasst: Mittwoch 12. Januar 2022, 17:21
von kdlll1
Hi,
Danke schonmal, ich lese mich da mal rein. Vielleicht klappts ja damit.

Re: Python String Komposition mit Liste zählen

Verfasst: Mittwoch 12. Januar 2022, 18:04
von imonbln
Je nachdem, ob du unterscheiden willst, ob klein und Großbuchstaben unterschiedlich gezählt werden und ob du damit leben kannst des Buchstaben welche nicht gesetzt sind leer bleiben kommen unterschiedliche Lösungen um collections.Counter infrage ein einfache könnte so aussehen (ungetestet):

Code: Alles auswählen

import collections
import string
import typing

def count_ascii(inp: str) -> typing.Dict[str, int]:
      cnt = collections.Counter(inp)
      return { char: cnt[char] for char in string.ascii_letters }  
Wobei ich hierbei, der Counter in ein normales dict konvertiert wird.