Python IndexError: Listenzuweisungsindex außerhalb des gültigen Bereichs

Zeeshan Afridi 21 Juni 2023
  1. Python IndexError: Listenzuweisungsindex außerhalb des gültigen Bereichs
  2. Beheben Sie den IndexError: Listenzuweisungsindex außerhalb des Bereichs in Python
  3. Beheben Sie IndexError: Listenzuweisungsindex außerhalb des gültigen Bereichs mit der Funktion append()
  4. Beheben Sie IndexError: Listenzuweisungsindex außerhalb des gültigen Bereichs mit der Funktion insert()
  5. Abschluss
Python IndexError: Listenzuweisungsindex außerhalb des gültigen Bereichs

In Python wird der IndexError: list assignment index out of range ausgelöst, wenn Sie versuchen, auf einen Index einer Liste zuzugreifen, die gar nicht existiert. Ein Index ist die Position von Werten innerhalb eines iterierbaren Elements, z. B. einer Zeichenfolge, einer Liste oder eines Arrays.

In diesem Artikel erfahren Sie, wie Sie den Indexfehler Index Error List Assignment Index Out-of-Range in Python beheben.

Python IndexError: Listenzuweisungsindex außerhalb des gültigen Bereichs

Sehen wir uns ein Beispiel für den Fehler an, um ihn zu verstehen und zu lösen.

Codebeispiel:

# error program --> IndexError: list assignment index out of range
i = [7, 9, 8, 3, 7, 0]  # index range (0-5)
j = [1, 2, 3]  # index range (0-3)

print(i, "\n", j)
print(f"\nLength of i = {len(i)}\nLength of j = {len(j)}")

print(f"\nValue at index {1} of list i and j are {i[1]} and {j[1]}")
print(
    f"\nValue at index {3} of list i and j are {i[3]} and {j[3]}"
)  # error because index 3 isn't available in list j

Ausgang:

[7, 9, 8, 3, 7, 0]
[1, 2, 3]

Length of i = 6
Length of j = 3

Value at index 1 of list i and j are 9 and 2

IndexError: list assignment index out of range

Der Grund hinter dem IndexError: list assignment index out of range im obigen Code ist, dass wir versuchen, auf den Wert am Index 3 zuzugreifen, der in der Liste j nicht verfügbar ist.

Beheben Sie den IndexError: Listenzuweisungsindex außerhalb des Bereichs in Python

Um diesen Fehler zu beheben, müssen wir die Indizierung von Iterables in dieser Fallliste anpassen. Angenommen, wir haben zwei Listen und Sie möchten die Liste a durch die Liste b ersetzen.

Codebeispiel:

a = [1, 2, 3, 4, 5, 6]
b = []
k = 0

for l in a:
    b[k] = l  # indexError --> because the length of b is 0
    k += 1

print(f"{a}\n{a}")

Ausgang:

IndexError: list assignment index out of range

Sie können der Liste b keine Werte zuweisen, da die Länge 0 ist und Sie versuchen, Werte am kth-Index b[k] = I hinzuzufügen, sodass der Indexfehler erhöht wird. Sie können es mit append() und insert() beheben.

Beheben Sie IndexError: Listenzuweisungsindex außerhalb des gültigen Bereichs mit der Funktion append()

Die Funktion append() fügt Elemente (Werte, Strings, Objekte usw.) am Ende der Liste hinzu. Es ist hilfreich, weil Sie sich nicht um die Indexkopfschmerzen kümmern müssen.

Codebeispiel:

a = [1, 2, 3, 4, 5, 6]
b = []
k = 0

for l in a:
    # use append to add values at the end of the list
    j.append(l)
    k += 1

print(f"List a: {a}\nList b: {a}")

Ausgang:

List a: [1, 2, 3, 4, 5, 6]
List b: [1, 2, 3, 4, 5, 6]

Beheben Sie IndexError: Listenzuweisungsindex außerhalb des gültigen Bereichs mit der Funktion insert()

Die Funktion insert() kann Werte direkt an der k'ten Position in der Liste einfügen. Es braucht zwei Argumente, insert(index, value).

Codebeispiel:

a = [1, 2, 3, 5, 8, 13]
b = []
k = 0

for l in a:
    # use insert to replace list a into b
    j.insert(k, l)
    k += 1

print(f"List a: {a}\nList b: {a}")

Ausgang:

List a: [1, 2, 3, 4, 5, 6]
List b: [1, 2, 3, 4, 5, 6]

Zusätzlich zu den beiden oben genannten Lösungen können Sie, wenn Sie Python-Listen wie normale Arrays in anderen Sprachen behandeln möchten, Ihre Listengröße mit None-Werten vordefinieren.

Codebeispiel:

a = [1, 2, 3, 4, 5, 6]
b = [None] * len(i)

print(f"Length of a: {len(a)}")
print(f"Length of b: {len(b)}")

print(f"\n{a}\n{b}")

Ausgang:

Length of a: 6
Length of b: 6

[1, 2, 3, 4, 5, 6]
[None, None, None, None, None, None]

Nachdem Sie Ihre Liste mit Dummy-Werten None definiert haben, können Sie diese entsprechend verwenden.

Abschluss

Es könnte noch ein paar manuelle Techniken und Logiken geben, um den IndexError: list assignment index out of range in Python zu behandeln. Dieser Artikel gibt einen Überblick über die beiden gängigen Listenfunktionen, die uns helfen, den Indexfehler in Python zu behandeln, während zwei Listen ersetzt werden.

Wir haben auch eine alternative Lösung besprochen, um die Liste vorzudefinieren und sie als Array zu behandeln, ähnlich den Arrays anderer Programmiersprachen.

Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

Verwandter Artikel - Python Error

Verwandter Artikel - Python List