Min/Max einer Liste

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
x-herbert
User
Beiträge: 59
Registriert: Mittwoch 27. November 2002, 20:52

Moin,

das Minimum/Maximum bei einer "normalen" Liste

liste = [1,2,3]
min = min(liste)

ist klar - Aber
wenn die Listenelemente aus Tripel der Form

liste2 = [(1,2,3),(4,5,6),(7,8,9)]

bestehen, wie finde ich hier das Minimum der "zweiten Spalte" also
min = 2 und max = 8 ??

Danke & Gruss
gruss x-herbert
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Hi!

Code: Alles auswählen

min2 = min((zip(*liste2))[1])
max2 = max((zip(*liste2))[1])
Gruß, mawe
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Hi nochmal!

Andere Möglichkeit:

Code: Alles auswählen

min2 = min([x[1] for x in liste2])
max2 = max([x[1] for x in liste2])
Gruß, mawe
x-herbert
User
Beiträge: 59
Registriert: Mittwoch 27. November 2002, 20:52

o.k. probiere ich aus...

das "(zip(*liste2))[1]" verstehe ich nicht ganz => gibt es bitte noch zwei Worte der Erklärung

Danke!
gruss x-herbert
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Nur zwei? :wink:

Zur Erklärung zeig ich Dir ein paar Beispiele, und weil ich furchtbar faul bin schreib ich die nicht selbst, sondern nur den Link :D

Gruß, mawe
x-herbert
User
Beiträge: 59
Registriert: Mittwoch 27. November 2002, 20:52

o.k.!

Danke!
gruss x-herbert
x-herbert
User
Beiträge: 59
Registriert: Mittwoch 27. November 2002, 20:52

noch ´ne Frage....

ich habe zweiListen
liste1 = [(a,b),(c,d),(e,f)]
liste2 = [1,2,3]

und möchte die Form
liste3 = [(a,1,b),(c,2,d),(e,3,f)] oder
liste3 = [(a,b,1),(c,d,2),(e,f,3)]

gibt es da wieder eine "elegante" Lösung statt einiger verschleifter-Schleifen???

meine Versuche mit map und zip ergaben immer
liste3 = [((a,b),1),((c,d),2)...
gruss x-herbert
Sorgenkind
User
Beiträge: 34
Registriert: Samstag 24. Juli 2004, 19:25
Kontaktdaten:

liste3=[(a,c,b) for (a,b),c in zip(liste1,liste2)]
liste3=[(a,b,c) for (a,b),c in zip(liste1,liste2)]
x-herbert
User
Beiträge: 59
Registriert: Mittwoch 27. November 2002, 20:52

super!!!
gruss x-herbert
Antworten