Erstellen einer leeren Liste mit gegebener Größe in Python

In diesem Beitrag werden wir sehen, wie man eine leere Liste mit gegebener Größe in Python erstellt.

Um einer Liste mit dem Zuweisungsoperator an der Position i, a = x, einen beliebigen Wert zuweisen zu können, sollte die Größe der Liste mindestens i+1 sein. Andernfalls kommt es zu einem IndexError wie unten gezeigt:

1
2
3
4
5

a =
a = 1
print(a)
# raise IndexError: Listenzuweisungsindex außerhalb des Bereichs

Die Lösung besteht darin, eine leere Liste None zu erstellen, wenn die Listenelemente nicht im Voraus bekannt sind. Dies kann einfach wie unten gezeigt gemacht werden –

1
2
3
4

a = * 5
print(a)
# prints

Der obige Code erzeugt eine Liste der Größe 5, wobei jede Position durch None initialisiert wird. None wird in Python häufig verwendet, um die Abwesenheit eines Wertes darzustellen.

Eine weitere Alternative, um leere Listen mit gegebener Größe zu erzeugen, ist die Verwendung von List Comprehensions:

1
2
3
4

a =
print(a)
# prints , , , , ]

Welche Lösung soll ich verwenden?

Die erste Lösung funktioniert gut für Nicht-Referenztypen wie Zahlen. Aber in manchen Fällen können Sie auf Referenzierungsfehler stoßen. Zum Beispiel wird ] * 5 dazu führen, dass die Liste dasselbe Listenobjekt mehrmals 5 enthält.

1
2
3
4
5

a = ] * 5
a.append(1)
print(a)
# prints , , , , ]

Die Lösung für dieses Problem ist die Verwendung von List Comprehensions wie dieser:

1
2
3
4
5

a = for x in range(5)]
a.append(1)
print(a)
# prints , , , , ]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.