Seite 1 von 1
Min/Max einer Liste
Verfasst: Donnerstag 19. August 2004, 13:55
von x-herbert
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
Verfasst: Donnerstag 19. August 2004, 14:13
von mawe
Hi!
Code: Alles auswählen
min2 = min((zip(*liste2))[1])
max2 = max((zip(*liste2))[1])
Gruß, mawe
Verfasst: Donnerstag 19. August 2004, 14:17
von mawe
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
Verfasst: Donnerstag 19. August 2004, 14:22
von x-herbert
o.k. probiere ich aus...
das "(zip(*liste2))[1]" verstehe ich nicht ganz => gibt es bitte noch zwei Worte der Erklärung
Danke!
Verfasst: Donnerstag 19. August 2004, 14:36
von mawe
Nur zwei?
Zur Erklärung zeig ich Dir ein paar Beispiele, und weil ich furchtbar faul bin schreib ich die nicht selbst, sondern nur den
Link
Gruß, mawe
Verfasst: Freitag 20. August 2004, 07:30
von x-herbert
o.k.!
Danke!
Verfasst: Freitag 20. August 2004, 11:26
von x-herbert
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)...
Verfasst: Freitag 20. August 2004, 12:33
von Sorgenkind
liste3=[(a,c,b) for (a,b),c in zip(liste1,liste2)]
liste3=[(a,b,c) for (a,b),c in zip(liste1,liste2)]
Verfasst: Freitag 20. August 2004, 12:43
von x-herbert
super!!!