Jason. Cała informatyka w jednym miejscu!

Przechodzimy do poznania pierwszej kolekcji języka Python :D! Wyjaśnimy sobie w niniejszym artykule jak wygląda, do czego służy oraz jakie zastosowania ma lista w Pythonie. Do tego poznamy niektóre metody klasy "list" którą reprezentuje każda zmienna przyjmująca listę. Do dzieła!

LISTA W PYTHONIE. JEDEN Z RODZAJÓW KOLEKCJI

W Pythonie nie ma takiej struktury danych jak tablica (to znaczy nie jest to zwykle nazywane "tablicą"). Jest to jeden z języków wysokiego poziomu, który posiada swój słownik pojęć, a tu macie jeden przypadek. Zamiast tego jest pojęcie "kolekcji". Kolekcja jest strukturą danych przeznaczoną do przechowywania wielu elementów w jednym miejscu. Lista w Pythonie jest jedną z nich! Jest jeszcze krotka, zbiór i słownik. Każde z nich ma swoje własne cechy, które definiują ich najlepsze zastosowania w postawionych problemach projektowych.

SKŁADNIA

Listę tworzymy bardzo prosto w kodzie źródłowym. Wykorzystujemy do tego parę nawiasów kwadratowych ([]):

new_list = []

W środku nawiasów, możemy od razu wprowadzić tyle elementów ile dusza zapragnie:

new_list = [5, 15, 4, -7]

A także pięknie wyświetlić jej zawartość przy użyciu funkcji "print":

Wypisanie listy w Pythonie za pomocą funkcji "print"

Lista w Pythonie może być problemu wypisana poprzez wstawienie ją w miejsce parametru funkcji "print".

Lista w Pythonie jest nazywana przez niektórych tablicą z powodu możliwości wydobycia z niej dowolnego istniejącego argumentu przy użyciu notacji indeksowej, ale sama w sobie NIE jest tablicą! Zwracając uwagę na rozpoczynanie "odliczania" od zera, bez problemu możemy odwołać się do każdego elementu:

new_list = [5, 15, 4, -7]
second_element = new_list[1]	# "wyjęcie" drugiej liczby (15)

Warto wiedzieć jeszcze w jakich sytuacjach stosować tę, a nie inną kolekcję. Lista charakteryzuje się "pamiętaniem" kolejności w której dodawało się poszczególne elementy, a także możliwością włożenia do niej duplikatów np. tych samych liczb. Poznajcie dwie kolejne cechy jakimi lista wyróżnia się z tłumu.

DYNAMICZNY ROZMIAR

Pamiętacie "ArrayList" z języka Java? To już wiecie o co chodzi! Korzystając z listy i dodając do niej (lub usuwając z niej) elementy, jej długość dostosowuje się automatycznie, aby być "zgodną z prawdą". Dlatego pojęcie "tablica" byłoby niepoprawne, bo "w prawdziwej" tablicy podaje się przy inicjalizacji sztywne rozmiary i one zostają na stałe. Zatem, lista w Pythonie działa jak "ArrayList" w Javie - zmienia swoje rozmiary w trakcie działania!

RÓŻNE TYPY DANYCH W JEDNYM

Jest jeszcze jedna cecha, która akurat w Javie by nie przeszła. Chodzi o możliwość dodania do listy różnorakich typów danych i Python nie będzie widział w tym niczego zakazanego! W praktyce oznacza to tyle, że po dodaniu do listy jakiejś liczby, możemy następnie wprowadzić łańcuch znaków a zaraz po nim, zmienną boolowską na ten przykład!

Różne typy danych w jednej liście w Pythonie

Lista w Pythonie może przyjmować różne typy danych w przeciwieństwie do większości innych języków wysokiego poziomu!

Pamiętajcie jednak, że trzeba się liczyć z ewentualnymi konsekwencjami podczas dokonywania modyfikacji przy użyciu pętli. Dodanie liczby do liczby przejdzie, ale do jakiegoś obiektu już nie. Trzeba wtedy już samemu wynaleźć jakiś kompromis jeżeli już koniecznie musimy mieć różne typy danych w jednej liście. Osobiście radziłbym trzymanie się jednego typu, a później ewentualnie podzielić sobie dane na parę różnych list, bo wtedy wiążemy sobie ręce podczas iterowania przez pętlę (trzeba sprawdzać jakiego typu jest aktualny element).

ZESTAW METOD KLASY "LIST"

Ponieważ lista w Pythonie to w rzeczywistości typ klasy "list", to określam to metodami klasy "list". Poznajcie kilka przyjemnych metod klasy "list", aby zacząć korzystać z list już teraz :)!

append()

Podstawowa metoda operująca na liście. Dodanie nowego elementu do listy na jej końcu. Nie zwraca żadnej wartości, a za parametr przyjmuje nowy obiekt danych dowolnego typu (w Pythonie wszystko jest obiektem - liczba, łańcuch, znak itp.). Jeśli mieliście na myśli metodę "add", to musicie się przestawić na nazwę "append".

Metoda "append" klasy "list" w języku Python

"append" dodaje nowy element na koniec listy.

sort()

Lista obsługuje również sortowanie uruchamiane przy pomocy metody "sort". Samo wywołanie bezparametrowe posortuje elementy od najmniejszego do największego (w miarę możliwości).

Metoda "sort" klasy "list" w języku Python

"sort" umożliwia proste sortowanie elementów znajdujących się w liście, o ile jest to możliwe.

LISTA W PYTHONIE DO FUNKCJI "LEN"

To jest funkcja zwracająca aktualną długość podanego w parametrze formalnym obiektu, niekoniecznie listy. Lista w Pythonie automatycznie dostosuje tę wartość w momencie modyfikowania liczby znajdujących się w niej elementów. Nic nie musimy robić, to się dostosowuje za nas!

Nie wywołuje się jej wyjątkowo z obiektu listy, gdyż "len" jest funkcją uniwersalną i nie należy ona do metod klasy "list"! To jest główny powód jej odseparowania od powyższych metod, które one już są wywoływane z poziomu listy.

Stąd, nie piszemy:

[lista].len()

tylko:

len([lista)

Jasne?

Metoda "len" klasy "list" w języku Python

"len" zwraca liczbę całkowitą oznaczającą długość wprowadzonego w parametr obiektu. W stosunku do listy, będzie to liczba elementów, w stosunku do łańcucha znaków, liczba znaków.

Nie przejmować się liczbą metod - to jest tylko kilka z nich.


Koniec najbardziej podstawowego zbioru informacji. Listy w Pythonie mają w sobie wiele zastosowań i z pewnością ułatwią kodowanie wielu bardziej skomplikowanych programów.

PODOBNE ARTYKUŁY