Werte innerhalb eines Tupels vergleichen

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
ilonar
User
Beiträge: 13
Registriert: Donnerstag 13. Dezember 2018, 14:05

Hallihallo :)

ich versuche mal mein Problem so anschaulich wie möglich zu erklären:

Ich habe aus einer Simulation die Tupel x,y,z mit Koordinaten herausbekommen.
Dementsprechend gehört bspw. die 5. Zeile der x-Liste zu der 5. Zeile der y und der z-Liste.

In jeder Liste gibt es die Werte mehrfach. Also gibt es für z=5 mehrere Einträge mit unterschiedlichen x,y Werten.
Ich möchte nun die Anzahl der jeweiligen gleichen Einträge für eine z-Koordinate herausbekommen, also etwas in dem Stil :

z= 0: 100
z=1: 99
..
z=40: 7


Ich danke schon mal für die Tipps,
liebe Grüße
Ilona
Benutzeravatar
noisefloor
User
Beiträge: 4193
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

die Beschreibung ist ein wenig... unverständlich. Erst ist von Tupeln die Rede, dann von Listen. Und Listen haben, zumindest wenn der Datentyp Liste von Python gemeint ist, keine Zeilen.

Poste doch mal bitte einen Beispieldatensatz mit dem Ergebnis, was du gerne sehen würdest.

Gruß, noisefloor
einfachTobi
User
Beiträge: 512
Registriert: Mittwoch 13. November 2019, 08:38

Was denn nun: Tupel oder Liste oder Liste mit Tupeln?
Unabhängig davon kannst du Counter dafür verwenden:

Code: Alles auswählen

from collections import Counter
counted = Counter([2, 2, 2, 45, 9, 9, 1, 999, 999, 999, 999, 999])
print(counted)
>>> Counter({999: 5, 2: 3, 9: 2, 45: 1, 1: 1})
ilonar
User
Beiträge: 13
Registriert: Donnerstag 13. Dezember 2018, 14:05

Ach, sorry! Es sind Tupel!
einfachTobi hat geschrieben: Dienstag 7. April 2020, 16:30 Was denn nun: Tupel oder Liste oder Liste mit Tupeln?
Unabhängig davon kannst du Counter dafür verwenden:

Code: Alles auswählen

from collections import Counter
counted = Counter([2, 2, 2, 45, 9, 9, 1, 999, 999, 999, 999, 999])
print(counted)
>>> Counter({999: 5, 2: 3, 9: 2, 45: 1, 1: 1})
Das hier ist die Lösung für mein Problem! Danke dir! :geek:
Antworten