+1 Daumen
1,2k Aufrufe

Ich übe gerade etwas Python bzw. stehe mit folgender Aufgabe vor einem Problem.

Ich soll innerhalb einer Liste ein Element ändern was mehrfach vorkommen könnte. Bsp:

liste = [2,4,6,8,10,12,12,4,8]

Hier soll innerhalb der Liste, also in-Place eine Änderung der ersten 12 zur 2 durchgeführt werden. Mein Problem: Die Aufgabenstellung sieht vor, das nun nur über for element in liste iteriert wird, nicht über den Index.

Ich soll nun also direkt innerhalb der Liste, mit dieser For-Schleife ein Element ändern, ohne dabei eine Kopie der Liste zu erstellen.

Ich bin dankbar für jeden Ansatz, sollte das überhaupt möglich sein :)

von

1 Antwort

+2 Daumen

Das ist meines Wissens nach nicht möglich.

Man muss auf den Index zurückgreifen:

liste = [2,4,6,8,10,12,12,4,8]

for index, i in enumerate(liste):
if i==12:
  liste[index] = 2
  break

print(liste)

von

Danke für die Antwort und den Link, darüber werde ich gleich mal brüten.

Ein anderes Problem?

Stell deine Frage

Ähnliche Fragen

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community