Seite 1 von 1

Tuple innerhalb einer Liste vergleichen

Verfasst: Freitag 1. August 2008, 11:22
von ete
Hallo!
Ich habe folgende Liste:

[(7, 15), (10, 25), (27, 31)]

Jetzt möchte ich jeweils den 2. Inhalt des Tuples mit dem ersten des nächsten vergleichen (>).

Also im Bsp. oben 15 mit 10 und dann 25 mit 27 und dann dannach die aussortieren ganzen Tuples wieder in eine neue Liste extrahieren?

Geht sowas über List Comprehensions :?:

Stefanie

Verfasst: Freitag 1. August 2008, 11:48
von Leonidas
``liste[0] > liste[1]``?

Nein, LCs sind für etwas anderes da.

Verfasst: Freitag 1. August 2008, 12:03
von ete
Leonidas hat geschrieben:``liste[0] > liste[1]``?
Nee , das vergleicht ja die ganzen Tuple.

Ich suche das:
liste[0][1] > liste[1][0]

Nur wie mach ich das für viele Tuple? Und wie finde ich den Tuple zurück?

Code: Alles auswählen

for i in liste:
    if i[1] > i[0]:
        pass
Vergleicht ja zwischen dem ganzen Tuple, ich muss aber i[1] mit i[0] des nästen vergleichen...i[1][0] geht ja leider nicht...

Verfasst: Freitag 1. August 2008, 12:09
von Leonidas
Du kannst an dieser Stelle eine for-Schleife mit Index verwenden und dann mit Index und Index+1 auf die Tipeln zugreifen, alternativ kannst du auch eine Funktion schreiben, die immer zwei Tupeln aus der Liste zurückgibt). Diese Tupeln kannst du dann im Körper der for-Schleife vergleichen.

Verfasst: Freitag 1. August 2008, 12:33
von ete
Ahh, danke ich habs :D