Maak een lege lijst met gegeven grootte in Python

In dit bericht zullen we zien hoe we een lege lijst met gegeven grootte kunnen maken in Python.

Om een waarde aan een lijst toe te wijzen met behulp van de toewijzingsoperator op positie i, a = x, moet de grootte van de lijst ten minste i+1 zijn. Anders zal er een IndexError verschijnen, zoals hieronder te zien is:

1
2
3
4
5

a =
a = 1
print(a)
# raise IndexError: list assignment index out of range

De oplossing is om een lege lijst te maken None wanneer lijstitems niet van tevoren bekend zijn. Dit kan eenvoudig worden gedaan zoals hieronder wordt getoond –

1
2
3
4

a = * 5
print(a)
# drukt

De bovenstaande code maakt een lijst met de grootte 5, waarbij elke positie is geïnitialiseerd door NoneNone wordt in python vaak gebruikt om de afwezigheid van een waarde aan te geven.

Een ander alternatief voor het maken van lege lijsten met een gegeven grootte is het gebruik van list comprehensions:

1
2
3
4

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

Welke oplossing moet ik gebruiken?

De eerste oplossing werkt goed voor niet-verwijzingstypen zoals getallen. Maar in sommige gevallen kunt u tegen verwijzingsfouten aanlopen. Bijvoorbeeld, ] * 5 zal resulteren in een lijst die hetzelfde lijstobject bevat, herhaaldelijk 5 keer.

1
2
3
4
5

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

De oplossing voor dit probleem is het gebruik van lijst comprehensies zoals deze:

1
2
3
4
5

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

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *