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?
Arbeiten mit Listen
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))]
Mit `map` geht es auch:
Code: Alles auswählen
from operator import lt
result = map(lt, a, b)
Wobei der Index überflüssig ist, da das ja der Index des Elements in der Liste ist.
@narpfel: map liefert einen nur einen Generator. Das muß man bei der weiteren Verarbeitung berücksichtigen.
Code: Alles auswählen
result = [a_value < b_value for a_value, b_value in zip(a, b)]
@__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].
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.
Und wenn du eine kuerzere Liste berechnen willst, dann gib kuerzere Listen als Argumente an. Also a[:4] und b[:4] zb.