Vega hat geschrieben:Ich möchte eine Liste durchlaufen, einmal von links nach rechts und einmal von rechts nach links.
Wenn ein bestimmter Fall eintritt möchte ich beide Elemente vertauschen.
Das ist leider immer noch vage. Versuchst du einen Sortieralgorithmus oder so zu implementieren? Um so konkreter du wirst, um so besser kann man dir dabei helfen, dein Vorhaben in idiomatischem Python zu formulieren.
Für gleichzeitiges Durchlaufen der Liste auf verschiedene Weise kommt noch die 'zip' Funktion hinzu. Üblicherweise erzeugt man eine neue Liste, die mit den entsprechend ausgewählten Elementen befüllt wird, weshalb du evtl. trotzdem keine Indizes brauchst.
EDIT:
Für eine Liste mit einer geraden Anzahl an Elementen kann man dann z. B. soetwas machen:
Code: Alles auswählen
items = [4,2,3,1]
pivot = len(items) / 2
new_items = []
for i, elements in enumerate(zip(items, items[::-1])):
first, second = elements
if i < pivot:
new_items.append(min(first, second))
else:
new_items.append(max(first, second))