Przechodzimy do ważnego tematu związanego z nauką podstaw Pythona 😊! Wyjaśnimy sobie do czego służy lista w języku Python, jaką ma budowę i w jakich sytuacjach przydaje się najbardziej ❤️. Do tego poznasz niektóre metody jakimi dysponuje lista jako typ danych 👍. Zapraszam do środka, jak chcesz poznać szczegóły tego tematu 😊!

LISTA W JĘZYKU PYTHON NIERAZ CI SIĘ PRZYDA

Przede wszystkim wyjaśnimy sobie sam termin, abyś miał(a) pojęcie o czym jest rozmowa 🙂.

CZYM JEST LISTA W JĘZYKU PYTHON?

Listę w Pythonie nazywamy strukturę danych, która jest w stanie przechowywać wiele wartości w jednym miejscu. Charakteryzuje się zapamiętywaniem kolejności dodawanych do niej elementów, a każdy z nich można swobodnie modyfikować w dowolnym czasie ✅. Ponadto lista zezwala na wstawianie do niej identycznych elementów, czyli duplikatów ✔️.

Niektórym, lista może kojarzyć się z tablicą znaną z innych języków programowania i to też należy sobie wyjaśnić.

CZY LISTA W JĘZYKU PYTHON JEST TABLICĄ?

Poniekąd. W Pythonie nie ma tablic jako takich, które możesz znać z innych języków 🚫! Tablica posiada jedno ważne ograniczenie: nie można swobodnie zmieniać jej rozmiaru po jej utworzeniu ❌. Lista w Pythonie posiada taką zdolność 🙂. Dlatego można powiedzieć, że "zachowuje się" jak tablica, natomiast nie jest "prawdziwą" tablicą z punktu widzenia struktury danych, ponieważ może zmieniać swój rozmiar zależnie od liczby elementów w trakcie działania programu 💡.

Lista może być utożsamiana z tablicą z powodu identycznego zapisu odwoływania się do każdego z jej elementów poprzez notację indeksową (indeks wewnątrz nawiasów kwadratowych), natomiast sama w sobie nie jest tablicą ⚠️!

Warto wiedzieć, że lista jest w rzeczywistości sekwencją - odrębnym typem danych posiadającym zdolność do "chodzenia" po elementach jeden po drugim (zwłaszcza przy użyciu pętli "for") ℹ️.

JAK UTWORZYĆ LISTĘ W JĘZYKU PYTHON?

Listę w Pythonie można stworzyć na 2 sposoby 👇:

  1. stworzenie pustej listy,
  2. stworzenie listy zawierającej elementy.

Tak wygląda tworzenie pustej listy 👇:

my_list = []

Oznaczeniem listy są nawiasy kwadratowe ℹ️. To jest ważne, aby rozróżniać strukturę danych po znakach, ponieważ oprócz list są też krotki, zbiory i słowniki, a one również posiadają swoje oznaczenia 🔥.

A to przykład utworzenia listy z elementami w środku 👇:

my_list = [1, 2, 3]

To jest lista z 3 elementami w postaci liczb całkowitych (bez ułamka) 🔢.

Wyjątkowo w Pythonie, możemy wstawić do jednej listy wartości różnych typów danych 👇:

my_list = [1, 'Mój łańcuch znaków', 3.5]

Aczkolwiek jeżeli zechcesz później operować na takiej liście używając pętli "for", możesz mieć duże problemy podczas obsługi każdego z elementów, ponieważ każdy typ danych jest obsługiwany na swój specyficzny sposób (na przykład nie każdy typ danych przyjmuje operator dodawania 😝) ❌. Najlepiej trzymać się zasady: jedna lista, jeden typ danych 👍.

Jesteśmy w stanie również dodawać elementy po utworzeniu listy - pokażę przykład podczas tłumaczenia metod ℹ️.

Lista w języku Python

Lista w języku Python jest strukturą danych przeznaczoną do przechowywania wielu elementów w jednym miejscu. W przeciwieństwie do większości innych języków, Python zezwala na wprowadzanie elementów różnych typów danych do jednej listy!

Teraz kolejna rzecz: jak pobierać elementy z takiej listy ❤️!

JAK POBIERAĆ ELEMENTY Z LISTY W JĘZYKU PYTHON?

Do pobierania elementów z listy posługujemy się notacją indeksową, czyli odwołujemy się do listy i wskazujemy indeks elementu jaki nas interesuje 👍. Pamiętaj, że lista zapamiętuje kolejność elementów, a to oznacza, że masz pewność, że jak liczba 16 została umieszczona jako pierwsza, to będzie cały czas pierwsza w kolejności ❤️. Jest mała pułapka co do numeracji, natomiast o tym dosłownie za moment ⚠️.

Tak wygląda przykład uzyskania dostępu do pierwszego elementu 👇:

print(my_list[0])

Najpierw podajesz zmienną jako listę, a zaraz po niej liczbę całkowitą (bez ułamka) w nawiasach kwadratowych ℹ️. Tylko zwróć uwagę, że indeks wynosi zero 😮! To "cofnięcie się o jeden" dotyczy wszystkich indeksów bez wyjątku ⚠️! Czyli jak będziemy chcieli się odwołać do piątego elementu, to 👇:

print(my_list[4])

dobrze myślisz - czwarty indeks 😉.

Należy bardzo uważać podczas odwoływania się do elementów w taki sposób 💥! Jest ryzyko, że spróbujemy sięgnąć po element poza faktyczną ich liczbę, czyli "wyjdziemy" poza zakres listy. Jeżeli dojdzie do takiej sytuacji, Python zgłosi błąd typu "IndexError" (wyjście poza listę), a program zostanie przerwany (chyba, że przechwycimy wyjątek) ⛔.

W Pythonie możemy skorzystać też z ujemnych indeksów, aby przedostawać się do elementów w odwrotnej kolejności 😱! Gdy napiszemy w ten sposób 👇:

print(my_list[-1])

otrzymamy na wyjściu wartość ostatniego elementu 🔥! I być może jak się domyślasz, chcąc pobrać trzeci element od końca, napiszemy tak 👇:

print(my_list[-3])

Używając tego zapisu również musisz uważać na to, jak daleko się przemieszczasz ⚠️. Każda próba odwołania się do elementu poza "ramy" listy, skończy się wyżej opisaną awarią programu 💥!

Najlepiej unikać odwoływania się bezpośrednio do pojedynczych elementów listy, gdyż nie jest to dobra praktyka (jedynym wyjątkiem są pierwszy i ostatni element, gdyż stanowią takie "punkty zaczepienia") ❌. Jeżeli potrzebujemy wyszukać właściwy element, dużo lepiej podejść do tego w sposób odszukania go po podanym kryterium np. interesuje nas element w postaci liczby 25 🔍.

Zanim przejdziemy do metod, jeszcze jedna ważna rzecz, a mianowicie wyznaczanie długości listy na podstawie liczby elementów 🚀!

JAK WYZNACZYĆ LICZBĘ ELEMENTÓW W LIŚCIE W JĘZYKU PYTHON?

W Pythonie służy do tego funkcja "len" ✅. Nie jest przypisana do listy i może być użyta na każdej sekwencji 👍. Zakładając, że mamy taką listę 👇:

my_list = [1, 2, 3]

to poniższe wywołanie 👇:

print(len(my_list))

zwróci liczbę 3 🙂. Może Ci się przydać do pobierania ostatniego elementu z listy, gdyż wystarczy od wyniku odjąć jeden (aby dopasować wartość do notacji indeksowej ⚠️) i już uzyskujemy do niego dostęp 🔓.

Wszystko na ten temat. Teraz pokażę Ci kilka metod do obsługi listy 😄!

JAKIE METODY POSIADA LISTA W JĘZYKU PYTHON?

Lista w Pythonie składa się między innymi z następujących metod (pełne zestawienie znajduje się w oficjalnej dokumentacji Pythona ℹ️) 👇:

  • append,
  • insert,
  • pop,
  • index.

Opiszę krótko każdą z wymienionych 😊! Będę posługiwał się taką definicją listy 👇:

my_list = [1, 2, 3]
APPEND

"append" odpowiada za dodawanie nowego elementu na koniec listy ℹ️. Stosuje się ją w przypadkach, gdy chcemy, aby jakiś element znalazł się w liście, natomiast nie da się go umieścić na etapie jej tworzenia, tylko po pewnym czasie 👍.

Gdy wywołamy sobie metodę w taki sposób 👇:

my_list.append(10)

lista przyjmie taką formę 👇:

[1, 2, 3, 10]

Podaję liczbę, natomiast metoda spokojnie zaakceptuje każdy typ danych 😉. Pamiętaj, że długość listy dostosowuje się na bieżąco zgodnie z liczbą elementów ✅. Dlatego określenie jej "tablicą" byłoby niepoprawne 💡.

Metoda "append" listy w języku Python

Metoda "append" dodaje nowy element na koniec listy.

A co, gdybyśmy chcieli wstawić kolejny element, lecz niekoniecznie na końcu 🤔? Wtedy musisz skorzystać z metody "insert" 🙂!

INSERT

"insert" działa dokładnie jak "append", natomiast pozwala na określenie indeksu, czyli za jakim ma się znaleźć elementem w kolejności 😊. Oto przykład 👇:

my_list.insert(2, 10)

W liście parametrów najpierw podajemy indeks, na którym ma się znaleźć element albo inaczej, liczbę elementów do pominięcia od początku listy ℹ️. Element jaki chcemy wstawić wpisujemy w miejsce drugiego parametru 2️⃣.

Taki będzie efekt 👇:

[1, 2, 10, 3]

Nowo dodany element to liczba 10 i znajduje się na drugim indeksie (czy też po pierwszych 2 pominiętych elementach) 🙂.

W sytuacji, gdy podamy indeks wykraczający poza rozmiar listy 👇:

my_list.insert(100, 10)

wtedy nie dojdzie do żadnej awarii programu, a element po prostu znajdzie się na samym jej końcu 🙂.

Metoda "insert" listy w języku Python

Metoda "insert" odpowiada za dodawanie nowego elementu w miejsce podanego indeksu.

To teraz operacja w drugą stronę - usuwanie elementów 💥.

POP

Metoda "pop" wykonuje 2 rzeczy naraz: usuwa element z listy i zwraca go ↩️. To się przydaje do sytuacji, w których chcesz usunąć element z listy, natomiast wykonać na nim jakieś czynności w późniejszych instrukcjach 👍.

Możemy jako parametr wstawić indeks, aby określić o jaki element nam chodzi, natomiast nie jest to obowiązkowe (wtedy zwróci ostatni) 🙂.

Tak wygląda przykład użycia 👇:

second_element = my_list.pop(1)

print(second_element)

Wynik metody "pop" przypisujemy do zmiennej i w tym wypadku pobieramy drugi element w kolejności 2️⃣. To sprawi, że lista przyjmie taką postać 👇:

[1, 3]

a w konsoli ukaże się wartość elementu, czyli liczba 2 👍.

Ujemne indeksy też są dozwolone i na przykład możemy pobrać ostatni element z listy idąc od końca 👇:

last_element = my_list.pop(-1)

print(last_element)

W obu sposobach zapisu trzeba się pilnować, jeśli chodzi o indeks ⚠️! Podanie liczby wykraczającej poza liczbę elementów w liście spowoduje pojawienie się błędu "IndexError" i natychmiastowe zakończenie programu, jeśli wyjątek nie jest przechwytywany 🚫!

Metoda "pop" listy w języku Python

Metoda "pop" usuwa element o podanym indeksie (lub z końca, jeśli nie podano indeksu) i zwraca go na wyjściu.

INDEX

"index" jest już odmienną metodą przeznaczoną do przeszukiwania listy celem zwrócenia indeksu pod jakim znajduje się szukany element 🔍. Metoda zwraca pierwsze wystąpienie, co oznacza że nie weźmie pod uwagę powtarzających się elementów ⚠️!

To jest przykład użycia 👇:

index_of_searched_element = my_list.index(3)

print(index_of_searched_element)

Do metody "index" wstawiamy parametr jako wartość elementu jaki nas interesuje np. liczba 3 🙂. Metoda przeszukuje listę w poszukiwaniu takiego elementu i jeżeli go znajdzie, to zwraca na wyjściu jego położenie w postaci indeksu ↩️. Jeżeli nie uda się go znaleźć, to nie zwróci -1 jak mogłeś(-aś) pomyśleć, tylko Python zgłosi błąd "ValueError", a program zostanie przerwany, gdy nie obsługuje tego wyjątku ⛔!

To może budzić niemałe zaskoczenie, także gdy korzystasz z tej metody, upewnij się że element jaki Cię interesuje, faktycznie tam jest 😉.

Metoda "index" listy w języku Python

Metoda "index" przeszukuje listę w poszukiwaniu elementu jaki nas interesuje i zwraca na wyjściu indeks, na którym się znajduje, jako pierwsze wystąpienie. W przypadku nieznalezienia elementu, dochodzi do awarii programu!


Koniec 😊. Lista z całą pewnością Ci się przyda i to w przeważającej części programów jakie napiszesz w swoim życiu 😉!

PODOBNE ARTYKUŁY