Twórz pustą listę o podanym rozmiarze w Pythonie

W tym poście zobaczymy, jak stworzyć pustą listę o podanym rozmiarze w Pythonie.

Aby przypisać dowolną wartość do listy za pomocą operatora przypisania na pozycji i, a = x, rozmiar listy powinien wynosić co najmniej i+1. W przeciwnym razie podniesie IndexError, jak pokazano poniżej:

1
2
3
4
5

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

Rozwiązaniem jest utworzenie pustej listy None gdy elementy listy nie są z góry znane. Można to łatwo zrobić, jak pokazano poniżej –

.

1
2
3
4

a = * 5
print(a)
# prints

Powyższy kod utworzy listę o rozmiarze 5, gdzie każda pozycja jest inicjalizowana przez NoneNone jest często używany w pythonie do reprezentowania braku wartości.

Inną alternatywą dla tworzenia pustych list o danym rozmiarze jest użycie list comprehensions:

1
2
3
4

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

Którego rozwiązania użyć?

Pierwsze rozwiązanie działa dobrze dla typów niereferencyjnych, takich jak liczby. Ale w niektórych przypadkach możesz napotkać błędy referencji. Na przykład, ] * 5 spowoduje, że lista będzie zawierała ten sam obiekt listy powtórzony 5 razy.

1
2
3
4
5

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

Rozwiązaniem tego problemu jest użycie list comprehensions, takich jak ta:

1
2
3
4
5

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

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *