Podstawowe struktury danych w Pythonie – listy

Po przeczytaniu kilku krótkich artykułów i przerobieniu kilku krótkich plików na colabie, zrozumiesz i nauczysz się obsługiwać trzy kluczowe podstawowe struktury danych w Pythonie – listy, słowniki i zestawy tak, by następnie móc z nimi pracować i wywołać na nich podstawowe metody.

Wstęp

Jeśli kiedykolwiek korzystał_aś z Javy, C++ lub JS, prawdopodobnie przewijały się tam takie konstrukcje jak ArrayList, HashMap czy HashSet. W Pythonie ich odpowiednikami są kolejno listy, słowniki i zestawy

Gdyby porównać programistów do szefów kuchni, to te struktury danych byłyby jak trzy podstawowe noże, których używasz każdego dnia. Jeden z nich jest to warzyw, drugi do mięsa, a trzeci do krojenia chleba – Niby nóż to nóż, ale wybierasz ten, który w danym momencie najlepiej odpowiada Twoim potrzebom.

Listy (ang. list)

Definicja

W Pythonie lista (ang. list) to uporządkowana, mutowalna kolekcja elementów tego samego lub różnego typu danych.

Cechy listy

  • Uporządkowana: Listy zachowują kolejność, w jakiej elementy są dodawane. 
  • Modyfikowalna (mutowalna): Można dodawać (np. za pomocą metody append()), usuwać (np. remove(), pop()), zmieniać (przypisując nową wartość do indeksu) lub zmieniać kolejność elementów listy. 
  • Dowolny typ danych: Listy mogą zawierać różne typy danych, np. liczby, napisy, inne listy, krotki, słowniki, obiekty. 
  • Indeksowanie: Elementy listy są indeksowane, zaczynając od 0. 
  • Slicing: Można pobierać fragmenty listy (wycinki), używając slicingu. 
  • Tworzenie: Listy tworzy się używając nawiasów kwadratowych []. 
  • Puste listy: Pusta lista tworzy się, używając [] lub przez konstruktor. 

Podstawowe metody

MetodaOpisMutuje oryginał?Zwraca
append(x)Dokleja element x na koniec✔️None
extend(iter)Rozszerza listę elementami z iterowalnego✔️None
insert(i, x)Wstawia x pod indeks i✔️None
pop([i])Usuwa i zwraca element przed i (domyślnie ostatni)✔️Usunięty element
remove(x)Usuwa pierwsze wystąpienie x✔️None
clear()Czyści listę✔️None
sort()Sortuje in place✔️None
sorted(list)Funkcja wbudowana – zwraca nową posortowaną listęNowa lista
copy() lub list(a)Płytka kopiaKopia listy

Kiedy stosować?

SytuacjaDlaczego lista?
Kolejność ma znaczenie, a chcesz łatwo doklejać na koniecOperacja append() jest amortyzacyjnie O(1).
Potrzebujesz szybkiego odczytu przez indeksIndeksowanie to O(1).
Tworzysz bufor lub wynik z pętliList comprehensions są super‑czytelne.

To tyle, jeśli chodzi o teorię. Teraz czas na praktykę. Zajrzyj do naszego notatnika Colab, gdzie znajdziesz dokładne wytłumaczenie wszystkich podstawowych (i nieco bardziej zaawansowanych) metod związanych z listami. Możesz skopiować lub pobrać notatnik, by móc uruchomić go dla siebie i pobawić się listami.

Na końcu notatnika znajdziesz 3 zadania.
Zrób je, a jeśli będziesz mieć jakieś pytania, daj znać w komentarzach (tylko nie spoiluj rozwiązaniami zadań – niech inni też mają chwilę zabawy!).

Jeśli przerobiłeś_aś cały materiał, pędź do kolejnego artykułu na temat słowników.


Co dalej?

Zapisz się do naszego newslettera, żeby nigdy nie przegapić żadnego wartościowego artykułu.

Zajrzyj do sekcji Kariera w AI, gdzie znajdziesz konkretne materiały o zmianach na rynku pracy – w Polsce i na świecie – oraz ścieżkach kariery związanych ze sztuczną inteligencją (nie tylko jako programista!).

→ A jeśli chcesz pisać modele i pracować jako Architekt AI, ale nie wiesz, od czego zacząć (lub utknąłeś gdzieś na ścieżce), odwiedź dział Nauka AI – czeka tam wiedza, ciekawostki i realne wsparcie.


! Uwaga

Niniejszy ebook ma charakter informacyjny i edukacyjny. Nie stanowi porady prawnej ani oferty pracy w rozumieniu przepisów krajowych lub unijnych.
Przy tworzeniu niniejszego artykułu korzystano ze wsparcia narzędzi opartych na sztucznej inteligencji – m.in. w zakresie porządkowania treści, analizy źródeł, przyspieszenia redakcji i wyszukiwania źródeł Jednak wszelkie decyzje dotycząca treści, interpretacji i ostatecznej formy zostały podjęte przez człowieka.

Podziel się swoją opinią

Jeden komentarz

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *