Seite 1 von 1
einzelne wörter array zählen
Verfasst: Mittwoch 27. April 2011, 14:10
von jhellmeier
Hallo,
ich habe gerade folgendes Problem, ich habe ein array mit mehreren Verschiedenen Werten:
werte = ['buch','auto','telefon','auto','buch']
mein python skript soll folgendes ausgeben:
buch: 2
auto: 2
telefon: 1
ich habe absolut keine ideee wie ich das lösen soll
Re: einzelne wörter array zählen
Verfasst: Mittwoch 27. April 2011, 14:19
von pillmuncher
Vorausgesetzt du benutzt Python >= 2.7, willst du dich über
collections.Counter informieren.
Re: einzelne wörter array zählen
Verfasst: Mittwoch 27. April 2011, 14:24
von Leonidas
Hallo jhellmeier, willkommen im Forum,
das was du hast ist kein Array sondern eine Liste. Das sind unterschiedliche Sachen. Listen-Objekte haben eine Methode namens ``count`` die genau das macht, was vom Namen her zu erwarten ist.
Re: einzelne wörter array zählen
Verfasst: Mittwoch 27. April 2011, 14:44
von pillmuncher
@Leonidas: alist.count(value) liefert aber nur die Anzahl der Vorkommnisse von value in alist, nicht aber die Anzahl aller Vorkommnisse aller Einträge.
@jhellmeier: Ich möchte mich Leonidas anschließen in Bezug auf Listen vs. Arrays. Sie sind nicht dasselbe.
Gruß,
Mick.
Re: einzelne wörter array zählen
Verfasst: Mittwoch 27. April 2011, 14:44
von Hyperion
Alternativ kann man auch `defaultdict` aus dem collections Modul nutzen. Dieses auf `int` setzen und in einer Schleife die Werte als Keys interpretieren und entsprechend den Zählwert hochsetzen.
Re: einzelne wörter array zählen
Verfasst: Mittwoch 27. April 2011, 15:05
von Leonidas
pillmuncher hat geschrieben:@Leonidas: alist.count(value) liefert aber nur die Anzahl der Vorkommnisse von value in alist, nicht aber die Anzahl aller Vorkommnisse aller Einträge.
Ganz recht, aber der OP soll ja was zum selbstlernen haben. Zum Beispiel das Konzept der Iteration

Aber natürlich, anderswie ist es schon eleganter.