Heim >Backend-Entwicklung >Python-Tutorial >Wie erstelle ich Listen variabler Größe in Python und vermeide IndexError?

Wie erstelle ich Listen variabler Größe in Python und vermeide IndexError?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-05 04:32:13794Durchsuche

How to Create Variable-Sized Lists in Python and Avoid IndexError?

Erstellen von Listen variabler Größe in Python

Sie möchten in Python eine leere Liste mit einer bestimmten Kapazität zum Speichern von Elementen erstellen. Beim Versuch, dieser Liste Werte zuzuweisen, tritt ein IndexError auf. Dieser Fehler entsteht, weil sich Python-Listen anders verhalten als Arrays in anderen Sprachen.

Warum der Code einen Fehler erzeugt

Der Code:

xs = list()
for i in range(0, 9):
   xs[i] = i

versucht, auf ein nicht zugewiesenes Element der Liste (xs[i]) zuzugreifen. Um dies zu beheben, verwenden Sie stattdessen xs.append(value), um Elemente am Ende der Liste hinzuzufügen:

xs = []
for i in range(0, 9):
   xs.append(i)

Eine leere Liste mit einer bestimmten Größe erstellen

Um eine leere Liste mit fester Größe zu erstellen, können Sie die folgenden Methoden verwenden:

  • 1. Mit [None] * n: Erstellen Sie eine Liste mit n None-Werten:
xs = [None] * 10
  • 2. Verwenden von range(x) (nur Python 2.X): Erstellen Sie eine Liste von 0 bis x-1:
xs = range(10)
  • 3. Verwenden einer Funktion: Definieren Sie eine Funktion zum Generieren einer Liste:
def create_list(size):
    xs = []
    for i in range(size):
        xs.append(i)
    return xs

xs = create_list(10)
  • 4. Listenverständnis: Verwenden Sie das Listenverständnis, um eine Liste zu erstellen:
xs = [i for i in range(10)]

Mit einer dieser Methoden können Sie in Python zuverlässig leere Listen variabler Größe erstellen.

Das obige ist der detaillierte Inhalt vonWie erstelle ich Listen variabler Größe in Python und vermeide IndexError?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn