W tym artykule, po pierwsze omówimy różne sposoby tworzenia pustej listy, a następnie zobaczymy jak dołączać do niej elementy używając pętli for lub one liner list comprehension.
Istnieją dwa sposoby tworzenia pustej listy w pythonie tj. używając lub list(). Sprawdźmy oba sposoby jeden po drugim,
Twórz pustą listę w pythonie używając
W Pythonie, pusta lista może być utworzona przez napisanie nawiasów kwadratowych tj . Jeśli w nawiasach kwadratowych nie podano żadnych argumentów, to zwraca pustą listę, np.
# Creating empty List using sample_list = print('Sample List: ', sample_list)
Wyjście:
Sample List:
Twórz pustą listę w pythonie używając list() Constructor
Klasa list Pythona dostarcza konstruktora,
list()
Przyjmuje on opcjonalny argument i.tj. iterowalną sekwencję i tworzy listę z tych elementów. Jeśli sekwencja nie jest podana, to zwraca pustą listę. Użyjmy tego, aby utworzyć pustą listę,
# Creating empty List using list constructorsample_list = list()print('Sample List: ', sample_list)
Wyjście:
Sample List:
Różnica między i list()
Możemy utworzyć pustą listę w pythonie za pomocą lub list(), ale główną różnicą między tymi dwoma podejściami jest szybkość. jest o wiele szybsza niż list() ponieważ,
- list() wymaga wyszukiwania symboli, ponieważ może się zdarzyć, że w naszym kodzie, ktoś przypisał nową definicję do słowa kluczowego list.
- Extra wywołanie funkcji: Ponieważ konstruktor zostanie wywołany, więc jest to dodatkowe wywołanie funkcji.
- Wewnątrz konstruktora sprawdza, czy przekazano sekwencję iterowalną, jeśli nie, to tylko tworzy pustą listę.
Whereas, jest po prostu literałem w pythonie, który zawsze zwraca ten sam wynik, tj. pustą listę. Tak więc, nie jest wymagane dodatkowe wyszukiwanie nazw lub wywoływanie funkcji, co czyni ją znacznie szybszą niż list().
Twórz pustą listę i dołącz elementy
Do tej pory widzieliśmy dwa różne sposoby tworzenia pustej listy pythona, teraz omówmy różne sposoby dołączania elementów do pustej listy.
Tworzenie pustej listy i dołączanie do niej elementów za pomocą pętli for
Załóżmy, że chcemy utworzyć pustą listę, a następnie dołączyć do niej 10 liczb (od 0 do 9 ). Zobaczmy jak to zrobić,
# Create an empty listsample_list = # Iterate over sequence of numbers from 0 to 9for i in range(10): # Append each number at the end of list sample_list.append(i)
Wyjście:
Sample List:
Użyliśmy funkcji range() do wygenerowania iterowalnego ciągu liczb od 0 do 9. Następnie używając pętli for, wykonaliśmy iterację nad tą sekwencją i dla każdej liczby w sekwencji, wywołaliśmy funkcję append() listy i przekazaliśmy liczbę do funkcji list.append(), która dodaje dany element na koniec listy w miejsce.
Stwórz pustą listę i dołączaj do niej elementy w jednej linii używając List Comprehension
Użyjemy funkcji range() tak jak w poprzednim przykładzie, aby wygenerować iterowalną sekwencję liczb od 0 do 9. Jednak zamiast wywoływać funkcję append(), użyjemy List comprehension do iteracji nad sekwencją i dodawania każdej liczby na końcu pustej listy. Zobaczmy, jak to zrobić,
# Append 10 numbers in an empty list from number 0 to 9sample_list =
Wyjście:
Sample List:
Tutaj stworzyliśmy pustą listę i dodaliśmy do niej elementy w jednej linii.
Twórz pustą listę i wstaw elementy na jej końcu za pomocą funkcji insert()
Python dostarcza funkcję insert() tj.
list.insert(index, item)
Wstawia ona element o podanym indeksie na miejsce listy.
Użyjmy list.insert() do dołączenia elementów na końcu pustej listy,
# Create an empty listsample_list = # Iterate over sequence of numbers from 0 to 9for i in range(10): # Insert each number at the end of list sample_list.insert(len(sample_list), i)print('Sample List: ', sample_list)
Wyjście:
Sample List:
Iterowaliśmy nad sekwencją liczb (od 0 do 9) podając moją funkcję range(), dla każdej liczby wywołaliśmy funkcję list.insert() i przekazywaliśmy do niej liczbę wraz z indeksem size-1 czyli końcem listy.
Twórz pustą listę i wstaw elementy na jej początku
Czasami nasze wymagania są trochę inne tzn. zamiast końca chcemy dodać elementy na początku pustej listy. Zobaczmy jak to zrobić używając funkcji list.index(),
# Create an empty listsample_list = # Iterate over sequence of numbers from 0 to 9for i in range(10): # Insert each number at the start of list sample_list.insert(0, i)print('Sample List: ', sample_list)
Wyjście:
Sample List:
W tym przypadku iterujemy po sekwencji liczb (od 0 do 9) dostarczonych przez funkcję range(), dla każdej liczby wywołujemy funkcję list.insert() i przekazaliśmy do niej liczbę wraz z indeksem 0, czyli początkiem listy.
Pełny przykład jest następujący,
def main(): print('*** Create an empty list using ***') # Creating empty List using sample_list = print('Sample List: ', sample_list) print('*** Create an empty list using list() ***') # Creating empty List using list constructor sample_list = list() print('Sample List: ', sample_list) print('***** Create an empty list and append elements at end *****') print('*** Create an empty list and append elements using for loop ***') # Create an empty list sample_list = # Iterate over sequence of numbers from 0 to 9 for i in range(10): # Append each number at the end of list sample_list.append(i) print('Sample List: ', sample_list) print('*** Create an empty list and append in one line ***') # Append 10 numbers in an empty list from number 0 to 9 sample_list = print('Sample List: ', sample_list) print('*** Create an empty list and insert elements at end ***') # Create an empty list sample_list = # Iterate over sequence of numbers from 0 to 9 for i in range(10): # Insert each number at the end of list sample_list.insert(len(sample_list), i) print('Sample List: ', sample_list) print('*** Create an empty list and insert elements at start ***') # Create an empty list sample_list = # Iterate over sequence of numbers from 0 to 9 for i in range(10): # Insert each number at the start of list sample_list.insert(0, i) print('Sample List: ', sample_list)if __name__ == '__main__': main()
Wyjście:
*** Create an empty list using ***Sample List: *** Create an empty list using list() ***Sample List: ***** Create an empty list and append elements at end ******** Create an empty list and append elements using for loop ***Sample List: *** Create an empty list and append in one line ***Sample List: *** Create an empty list and insert elements at end ***Sample List: *** Create an empty list and insert elements at start ***Sample List: