PYTHON - mehrere Elemente einer Liste nach Index ersetzen?


07.04.2021, 16:45

Ich möchte sozusagen eine kürzere Version dieses Codes haben:

liste[1] = "e"

liste[2] = "e"

liste[3] = "e"

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Deine Beispiele passen nicht ganz. Beispielsweise erhält man bei

liste = ["a", "b", "c"]
liste[1] = "e"
print(liste)

nicht ["e", "b", "c"], sondern ["a", "e", "c"]. Bedenke, dass das das erste Element der Liste nicht den Index 1 hat, sondern den Index 0.

============

Zur Lösung deines Problems...

Geh doch einfach die Indizes mit einer for-Schleife durch.

Beispiel:

liste = ["a", "b", "c", "d", "e", "f"]
for i in [1, 3, 4]:
    liste[i] = "z"

Bei diesem Beispiel ist am Ende liste = ["a", "z", "c", "z", "z", "f"].


Kannst eine for-Schleife machen

For i in range(len(liste)) :

Liste[i] = "e"

Woher ich das weiß:eigene Erfahrung

verreisterNutzer  07.04.2021, 16:47

Sonst noch eine Idee?

0
pentihunter  07.04.2021, 16:51
@verreisterNutzer

am besten nen konkretes Beispiel, den ich hätte die selbe Antwort geschrieben ^^

hängt immer davon ab, was da rein soll und woher.

Also etwas konkreter wäre schon wichtig

1
liste[1, 2, 3] = "e"

Was du meinst sind die Indizes von 0 bis 2.

Mit Slices kann man sowas Ähnliches erreichen:

liste[:3] = "e", "e", "e"

Das kann man in dem Fall noch ein bisschen vereinfachen:

liste[:3] = "e" * 3