wie nur bestimmte einer liste mit tupels summieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
blutigeranfaenger
User
Beiträge: 65
Registriert: Dienstag 4. März 2014, 12:04

Hallo zusammen,
ich habe folgendes, wahrscheinlich ziemlich einfaches Problem.
Ich habe eine liste mit tupels, die im prinzip so aufgebaut ist:

Code: Alles auswählen

l = [("a",10),("b",5),("c",1) ]
Also wieviele Buchstaben kommen in einem Text wie oft vor.
Jetzt möchte ich den Prozentualen Anteil der Buchstaben bestimmen.
Da es insgesamt 16 Buchstaben sind, beträgt der Anteil z.b. von a (10/16)*100, also 62 %.
Wie kann ich das denn möglichst, ohne dass ich wieder einen neuen Befehl definieren muss, für jeden Buchstaben ausrechnen?
Ich weiß, ich stelle mich gerade bei den Tupels wie ein Tuppes an.
Deswegen danke ich im Voraus für jeden kleinen Tipp!
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Wieso willst du keinen “neuen Befehl” definieren? Das ist das Wesen von Programmierung - neue Dinge schaffen, basierend auf den gegebenen. Eine ‘loes_mein_problem()’-Funktion gibt es eher nicht.

Für dieses Problem bietet sich die Nutzung von collections.Counter an.
blutigeranfaenger
User
Beiträge: 65
Registriert: Dienstag 4. März 2014, 12:04

Danke, collections.Counter kannte ich noch nicht, schaue ich mir an.
Antworten