Articles

Python Empty List Tutorial – How to Create an Empty List in Python

Posted on

Jeśli chcesz dowiedzieć się, jak efektywnie tworzyć puste listy w Pythonie, to ten artykuł jest dla Ciebie.

Dowiesz się:

  • Jak utworzyć pustą listę przy użyciu nawiasów kwadratowych .
  • Jak utworzyć pustą listę przy użyciu list().
  • Jakie są ich przypadki użycia.
  • Jak bardzo są wydajne (jeden jest szybszy od drugiego!). Do ich porównania użyjemy modułu timeit.

Zacznijmy! ✨

🔹 Używanie nawiasów kwadratowych

Pustą listę można utworzyć za pomocą pustej pary nawiasów kwadratowych, jak poniżej:

💡 Wskazówka: Pustą listę przypisujemy do zmiennej, aby wykorzystać ją później w naszym programie.

Na przykład:

num = 

Pusta lista będzie miała długość 0, jak widać tutaj:

>>> num = >>> len(num)0

Puste listy są wartościami falsy, co oznacza, że oceniają do False w kontekście boolean:

>>> num = >>> bool(num)False

Add Elements to an Empty List

Możesz dodawać elementy do pustej listy za pomocą metod append() i insert():

  • append() dodaje element na koniec listy.
  • insert() dodaje element w wybranym przez użytkownika indeksie listy.

Ponieważ listy mogą być wartościami prawdziwymi lub fałszywymi, w zależności od tego, czy są puste, czy nie, kiedy są oceniane, możesz używać ich w warunkach, takich jak ten:

if num:print("This list is not empty")else:print("This list is empty")

Wynikiem tego kodu jest:

This list is empty

Ponieważ lista była pusta, więc ocenia się na False.

Ogólnie:

  • Jeżeli lista nie jest pusta, oblicza True, więc klauzula if jest wykonywana.
  • Jeżeli lista jest pusta, oblicza False, więc klauzula else jest wykonywana.

Przykład:

W poniższym przykładzie tworzymy pustą listę i przypisujemy ją do zmiennej num. Następnie, używając pętli for, dodajemy do początkowo pustej listy ciąg elementów (liczb całkowitych):

>>> num = >>> for i in range(3, 15, 2):num.append(i)

Sprawdzamy wartość zmiennej, aby zobaczyć, czy elementy zostały dodane i czy lista nie jest już pusta:

>>> num

💡 Wskazówka: Powszechnie używamy append(), aby dodać pierwszy element do pustej listy, ale możesz również dodać ten element wywołując metodę insert() z indeksem 0:

>>> num = >>> num.insert(0, 1.5) # add the float 1.5 at index 0>>> num

🔸 Using the list() Constructor

Alternatywnie można utworzyć pustą listę za pomocą konstruktora typu list(), który tworzy nowy obiekt listy.

Zgodnie z dokumentacją Pythona:

Jeśli nie podano żadnego argumentu, konstruktor tworzy nową pustą listę,

💡 Wskazówka: Powoduje to utworzenie nowego obiektu listy w pamięci, a ponieważ nie przekazaliśmy żadnych argumentów do list(), zostanie utworzona pusta lista.

Na przykład:

num = list()

Ta pusta lista będzie miała długość 0, jak widać tutaj:

>>> num = list()>>> len(num)0

I jest to wartość falsy, gdy jest pusta (ocenia do False w kontekście boolean):

>>> num = list()>>> bool(num)False

Przykład:

To jest w pełni funkcjonalna lista, więc możemy dodawać do niej elementy:

>>> num = list()>>> for i in range(3, 15, 2):num.append(i)

A wynikiem będzie niepusta lista, jak widać właśnie tutaj:

>>> num

🔹 Use Cases

  • Zwykle używamy list() do tworzenia list z istniejących iterabiliów, takich jak ciągi, słowniki czy tuple.
  • Powszechnie można zobaczyć nawiasy kwadratowe używane do tworzenia pustych list w Pythonie, ponieważ ta składnia jest bardziej zwięzła i szybsza.

🔸 Wydajność

Poczekaj! Właśnie powiedziałem Ci, że jest szybszy niż list()

Ale o ile szybszy?

Sprawdźmy ich wydajność czasową za pomocą modułu timeit.

Aby użyć tego modułu w swoim programie w Pythonie, musisz go zaimportować:

>>> import timeit

Specjalnie, użyjemy funkcji timeit z tego modułu, którą możesz wywołać za pomocą tej składni:

💡 Wskazówka: Kod jest powtarzany kilka razy, aby zmniejszyć różnice czasowe, które mogą wynikać z czynników zewnętrznych, takich jak inne procesy, które mogą być uruchomione w danym momencie. Dzięki temu wyniki są bardziej wiarygodne dla celów porównawczych.

🚦 Na miejsca… gotowi… gotowi! Oto kod i dane wyjściowe:

Po pierwsze, importujemy moduł.

>>> import timeit

Następnie zaczynamy testować każdą składnię.

Testowanie :

>>> timeit.timeit('', number=10**4)0.0008467000000109692

Testowanie list():

>>> timeit.timeit('list()', number=10**4)0.002867799999989984

💡 Wskazówka: Zauważ, że kod, który chcesz odmierzać czas musi być otoczony pojedynczymi cudzysłowami '' lub podwójnymi "". Czas zwracany przez funkcję timeit jest wyrażony w sekundach.

Porównaj te wyniki:

  • 0.0008467000000109692
  • list()0.002867799999989984

Można zauważyć, że jest znacznie szybszy niż list(). W tym teście wystąpiła różnica około 0.002 sekund:

>>> 0.002867799999989984 - 0.00084670000001096920.0020210999999790147

Jestem pewien, że musisz o to teraz zapytać: Dlaczego list() jest mniej wydajny niż , jeśli robią dokładnie to samo?

Cóż… list() jest wolniejszy, ponieważ wymaga wyszukania nazwy funkcji, wywołania jej, a następnie utworzenia obiektu listy w pamięci. W przeciwieństwie do tego, jest jak „skrót”, który nie wymaga tak wielu pośrednich kroków, aby utworzyć listę w pamięci.

Ta różnica czasu nie wpłynie zbytnio na wydajność Twojego programu, ale dobrze jest wiedzieć, który z nich jest bardziej wydajny i jak działają za kulisami.

🔹 W podsumowaniu

Pustą listę można utworzyć za pomocą pustej pary nawiasów kwadratowych lub konstruktora typu list(), wbudowanej funkcji, która tworzy pustą listę, gdy nie są przekazywane żadne argumenty.

Nawiasy kwadratowe są powszechnie używane w Pythonie do tworzenia pustych list, ponieważ jest to szybsze i bardziej zwięzłe.

Naprawdę mam nadzieję, że podobał Ci się mój artykuł i uznałeś go za pomocny. Teraz możesz tworzyć puste listy w swoich projektach w Pythonie. Sprawdź moje kursy online. Śledź mnie na Twitterze. ⭐️

Jeśli chcesz zagłębić się bardziej w tematykę list, możesz przeczytać:

  • Python List Append – How to Add an Element to an Array, Explained with Examples
  • The Python Sort List Array Method – Ascending and Descending Explained with Examples
  • Python List Append VS Python List Extend – The Difference Explained with Array Method Examples

Dodaj komentarz

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