Seite 1 von 1
Arbeiten mit Listen
Verfasst: Samstag 30. Januar 2021, 17:27
von NewJoX
Guten Tag,
ich bin neu hier im Forum und könnte eure Hilfe gebrauchen.
ich möchte Listen miteinander vergleichen und lasse die identischen Indexe gegeneinander antreten, da ich sehen möchte welcher Wert größer ist. Aktuell muss ich dies manuell machen, also ..
avsb0 = a [0] < b [0]
avsb1 = a[1] < b [1]
usw...
a = [1, 2, 3, 4, 5, 6, 7, 8, 9 10]
b = [10, 9, 8, 7, 6 ,5 , 4, 3, 2, 1]
ich kann mit loops arbeiten aber ich weiß nicht wie ich das geregelt kriege das die indexe beide +1 weiter gehen. Könnte mir da jemand weiterhelfen?
Re: Arbeiten mit Listen
Verfasst: Samstag 30. Januar 2021, 17:29
von __deets__
Mir ist nicht ganz klar was dein Endergebnis sein soll, aber ein elementweiser Vergleich mit Ergebnis und Index kann zB so erreicht werden:
Code: Alles auswählen
result = [(i, a_value < b_value) for i, (a_value, b_value) in enumerate(zip(a, b))]
Re: Arbeiten mit Listen
Verfasst: Samstag 30. Januar 2021, 17:41
von narpfel
Re: Arbeiten mit Listen
Verfasst: Samstag 30. Januar 2021, 17:49
von Sirius3
Wobei der Index überflüssig ist, da das ja der Index des Elements in der Liste ist.
Code: Alles auswählen
result = [a_value < b_value for a_value, b_value in zip(a, b)]
@narpfel: map liefert einen nur einen Generator. Das muß man bei der weiteren Verarbeitung berücksichtigen.
Re: Arbeiten mit Listen
Verfasst: Samstag 30. Januar 2021, 18:08
von __deets__
@Sirius3

Joa. Wo du recht hast.
Re: Arbeiten mit Listen
Verfasst: Samstag 30. Januar 2021, 18:15
von NewJoX
@__deets__ danke dir hat wunderbar geklappt, gibt es noch die Möglichkeit dies ohne () (1, True) anzeigen zu lassen, ich bräuchte in der Theorie nur die booleans Bewertung, denn ich möchte danach die True´s zählen lassen, dies geht scheinbar durch die () nicht und gibt es noch die Mögichkeit dies zu bestimmen wie oft er dies in der Liste macht also nur bis Index[4].
Re: Arbeiten mit Listen
Verfasst: Samstag 30. Januar 2021, 19:30
von __deets__
Du kannst wie Sirius3 ja schon angedeutet hat auch einfach auf das enumerate verzichten. Und dann das i wegnehmen, und nur noch die boolschen Resultate sammeln.
Und wenn du eine kuerzere Liste berechnen willst, dann gib kuerzere Listen als Argumente an. Also a[:4] und b[:4] zb.
Re: Arbeiten mit Listen
Verfasst: Samstag 30. Januar 2021, 20:24
von NewJoX
Danke euch. Ihr habt mir sehr weitergeholfen!