Hej, dziś wejdziemy trochę w świat struktur danych innych niż skalarne (proste), takie jak łańcuchy znaków jak, liczby całkowite czy zmiennoprzecinkowe. Dziś porozmawiamy sobie o strukturze nieco bardziej złożonej. Która potrafi przechowywać więcej niż jedną wartość. Oto przed wami listy, w Pythonie, które można też niektórzy nazywają tablicami (naleciałości z innych języków).
Czym jest lista? Przede wszystkim jest złożoną strukturą danych, czyli czymś co pozwala nam przechowywać więcej niż jedną wartość. Dotychczas mieliśmy do czynienia z pojedynczymi wartościami, stringami, intami czy floatami. Teraz wkraczamy w świat "cywilizowanych typów danych" (te proste struktury danych zwane są prymitywnymi)
Lista to pierwszy z przykładów złożonych struktur danych, zawiera zbiór wartości ułożonych, no właśnie, w listę. W tym wypadku, za pomocą zmiennej odwołujemy się do całego zbioru danych, a nie pojedynczej wartości. Jeśli chodzi o listy w Pythonie możemy łatwo odczytywać, dodawać czy usuwać wartości w takiej liście.
Listy w Pythonie jako struktura danych
W Pythonie mamy różne struktury danych, które różnią się swoimi cechami. W przypadku listy, ma ona to do siebie, że posiada indeks. Indeks jest wartością, która pozwala nam nawigować po liście i jednoznacznie identyfikować jej wartości. Na marginesie w stringu znaki też mają swoje indeksy i możemy się odwoływać do liter jak wartości w liście. W liście możemy każdą wartość łatwo zmodyfikować, mówi się, że listy są mutowalne (modyfikowalne).
Lista to zbiór wartości ogólnego zastosowania, dzięki indeksowi możemy każdą wartość łatwo odczytać. Można wartość usunąć łatwo, czy dodać nowe. Zasady jak w przypadku tzw. array w innych językach. Mutowalność właśnie zapewnia nam możliwość wykonywania różnych informacji na listach. Przykładowo możemy utworzyć pustą listę i wstawić do niej wartości dopiero później. Jak poniżej, gdzie tworzymy pustą listę dodajemy jeden element i wyświetlamy listę.

Lista w Pythonie może mieć też jakieś wartości na początku, a my, możemy przetwarzać w naszym programie te wartości (bo przykładowo przyszły ze strony internetowej). Podstawowa składnia listy, jak widać powyżej, to dwa nawiasy kwadratowy. Innymi słowy by utworzyć listę podajemy jej nazwę i przypisujemy nawiasy kwadratowe.
Oczywiście w nawiasach kwadratowych możemy od razu umieścić wartości. Każdą z wartości wymieniamy po przecinku. Po stworzeniu listy, możemy się do niej dostać, przy użyciu jej nazwy. Dokładniej mówiąc przy użyciu zmiennej do której przypisaliśmy listę, a która teraz na ową listę wskazuje. Jest referencją do listy.
Podstawowe operacja na listach w Pythonie
Na listach w Pythonie możemy wykonywać różne operacje. Zacznijmy sobie od tych podstawowych. Jeśli już utworzymy zmienną wraz z listą i poszczególnymi elementami, możemy się do tych elementów odwoływać. Odwoływanie się do elementów odbywa się przez podanie ich indeksu. Ten indeks podajemy w nawiasach kwadratowych, przy czym należy pamiętać, że indeksy zaczynają się od zera.
I tak poniżej by odwołać się do pierwszego elementu z listy, musimy podać nazwę zmiennej, która jest referencją do listy. Następnie musimy podać indeks pierwszego elementu w liście, umieszczony w nawiasach kwadratowych. Pierwszy indeks w liście ma zawsze indeks o wartości zero.

Powyżej możemy zobaczyć jak by to wyglądała w kodzie. Mamy listę z wartościami. Przy czym jak możemy zauważyć lista nie musi przechowywać widocznie wartości jednego typu. Nie muszą to być przykładowo tylko łańcuchy znaków, albo tylko liczby. Lista może przechowywać różne typy jednocześnie. Następnie odwołujemy się do pierwszego elementu i funkcją print go wyświetlamy. Jeśli chcielibyśmy zmienić wartość pierwszego elementu, musimy po prostu się do niego odwołać tak jak powyżej i przypisać mu nową wartość.

Uruchamiając powyższy kod zobaczymy jak pierwotna wartość elementu o indeksie zero została zmieniona. Poprzez zwykłe odwołanie się do pierwszego elementu i przypisanie do niego nowej wartości, po jego wyświetleniu, zobaczymy nową wartość.
Podstawowa metoda listy w Pythonie
Na pierwszym obrazku w tym artykule, mogłeś zobaczyć pewną metodę. Gdy bowiem chcemy dodać nowy element do listy w Pythonie, przykładowo wartość logiczną typu bool.

Nie możemy tego zrobić po prostu przypisując wartość. Robimy to specjalną metodą list. Jest to metoda o nazwie append. I skoro mamy już w swojej liście wartości łańcuchowe i liczbowe, dodajmy wspomnianą wartość logiczną.

Powyższy kod do naszej listy, na jej końcu, wartość typu bool. Następnie wyświetli wartość ostatniego elementu w liście, czyli właśnie naszej dodanej wartości. Ostatni element listy w tym przypadku będzie miał index 4. Lista ma teraz pięć elementów, jednak indeksy zaczynają się od zera, co daje nam ogólny wzór na indeks ostatniego elementu listy n-1, gdzie n to liczba elementów w tablicy.
Jak widzimy lista to bardzo ciekawa struktura, która jest niezwykle uniwersalna i przez to użyteczna. Nie jest to ostatni artykuł na jej temat, w następnych będziemy sobie kontynuować opowieść o listach, a już teraz zachęcam do własnych eksperymentów w listami w Pythonie, w swoim własnym kodzie.

[…] kontynuujemy temat list w pythonie. Mówiliśmy sobie, że są to bardzo elastyczne i pożyteczne struktury. Mogą przechowywać kilka […]
[…] taką listę i znasz kilka podstawowych operacji, które możesz na niej wykonać (jeśli nie to zapraszam tutaj). Zatem zobaczymy jak będzie ona wyglądać w […]
[…] mówimy o listach, nie sposób nie wspomnieć, choć niektórym się udaje, o tzw. list comprehension. Jest to taka […]
[…] mogło udać Nam się liznąć już w niektórych artykułach. Przykladem mógł być artykuł o listach, bowiem są one tworem powiązanym z dzisiejszym tematem posta – mutowalność. Mogło się […]
[…] się przekonać, patrząc na obrazek powyżej, kopiowanie listy z x’a jest realizowane funkcją list(). Jest to instrukcja, która może tutaj skopiować listą, ale jest też pomocna przy […]