PYTHON

PYTHON Listy | Metody

Wiemy już, że listy są kontenerami zdolnymi do przechowania danych różnych typów. Wiemy jak wypisać zawarte w niej dane czy je przeszukać.

Teraz natomiast przejdziemy do gotowych metod (funkcji), które możemy wykonać na liście. Będą to chociażby: sortowanie, dodawanie elementu do listy czy usuwanie elementu listy.

Wykonanie dowolnej metody na liście odbywa się według schematu:

mojalista.nazwametody(opcjonalne_parametry)

Podajemy zatem nazwę listy, stawiamy symbol kropki (.), następnie umieszczamy metodę, której chcemy użyć, wraz z opcjonalnymi parametrami.

Sortowanie elementów listy

Stwórzmy sobie przykładową listę:

lista = [6, 3, 7, 11, 2.2, 9, 12]

Aby posortować jej elementy, wykorzystamy metodę sort()

lista.sort()

W efekcie nasza lista przedstawiać się będzie następująco:

[2.2, 3, 6, 7, 9, 11, 12]

 

Możemy również posortować elementy listy typu string:

>>> lista = ["pies", "kot", "mysz", "bażant"]
>>> lista.sort()
>>> lista
['bażant', 'kot', 'mysz', 'pies']

 

Dodanie elementu w konkretne miejsce listy (insert)

Stwórzmy sobie nową listę o nazwie mojalista:

mojalista = [10, 2.4, "chomik", 1, "kot", 9, "pies"

Aby dodać nowy element w konkretne miejsce listy wykorzystamy metodę insert, która przyjmuje 2 parametry wejściowe, a mianowicie pozycję (indeks) na której ma zostać dodany element oraz wartość elementu:

mojalista.insert(1, "papuga")

Podaliśmy, że na miejsce  listy o indeksie 1 ma zostać dodana papuga. Wszystkie elementy od indeksu o numerze 1 do końca listy zostaną przesunięte o 1 element, robiąc miejsce dla nowego elementu. W to przygotowane wolne miejsce wprowadzona zostaje papuga.

Aktualna zawartość zmiennej mojalista:

[10, ‘papuga’, 2.4, ‘chomik’, 1, ‘kot’, 9, ‘pies’]

 

Dodanie elementu na koniec listy (append)

Aby dodać element na koniec listy skorzystamy z metody append. Jako parametr wejściowy przyjmuje ona jedynie wartość nowego elementu.

>>> mojalista.append("mysz")
>>> print(mojalista)
[10, 'papuga', 2.4, 'chomik', 1, 'kot', 9, 'pies', 'mysz']

 

Wyciągnięcie elementu z listy (pop)

Jest to de facto usunięcie elementu z listy o określonym indeksie. Wykorzystamy do tego celu metodę pop, przyjmującą jako parametr wejściowy pozycję (indeks) elementu do usunięcia. Poza usunięciem elementu metoda pop zwraca wartość elementu jaki usunęła (return).

Dla przypomnienia nasza lista obecnie posiada następującą zawartość:

[10, ‘papuga’, 2.4, ‘chomik’, 1, ‘kot’, 9, ‘pies’, ‘mysz’]

Pozbądźmy się chomika 🙂 Leży on na 4 pozycji listy, czyli jego indeks wynosi 3. Wykorzystajmy zatem metodę pop:

usuniety = mojalista.pop(3)

print(mojalista)
[10, 'papuga', 2.4, 1, 'kot', 9, 'pies', 'mysz']

print(usuniety)
chomik

 

Usunięcie elementu o określonej wartości (remove)

Metoda remove przyjmuje jako parametr wejściowy wartość elementu do usunięcia. W przeciwieństwie do pop nie zwraca ona nic.

mojalista.remove("pies")

print(mojalista)
[10, 'papuga', 2.4, 1, 'kot', 9, 'mysz']

Dodajmy jeszcze do naszej listy kolejny element o wartości 9. Będą 2 elementy o tej wartości. Spróbujmy wówczas wykonać metodę remove z wartością 9:

mojalista.append(9)

print(mojalista)
[10, 'papuga', 2.4, 1, 'kot', 9, 'mysz', 9]

mojalista.remove(9)

print(mojalista)
[10, 'papuga', 2.4, 1, 'kot', 'mysz', 9]

Jak widzimy usunięta został tylko pierwszy napotkany element o wartości 9.

 

Sprawdzenie indeksu elementu listy po jego wartości (index)

print(mojalista)
[10, 'papuga', 2.4, 1, 'kot', 'mysz', 9]

mojalista.index("kot")
4

 

Liczba wystąpień elementu listy o zadanej wartości (count)

print(mojalista)
[10, 'papuga', 2.4, 1, 'kot', 'mysz', 9, 'papuga']

mojalista.count("papuga")
2

 

Odwrócenie kolejności elementów na liście (reverse)

print(mojalista)
[10, 'papuga', 2.4, 1, 'kot', 'mysz', 9, 'papuga']

mojalista.reverse()

print(mojalista)
['papuga', 9, 'mysz', 'kot', 1, 2.4, 'papuga', 10]

 

Kopia listy (copy)

kopialisty = mojalista.copy()

print(mojalista)
['papuga', 9, 'mysz', 'kot', 1, 2.4, 'papuga', 10]

print(kopialisty)
['papuga', 9, 'mysz', 'kot', 1, 2.4, 'papuga', 10]

 

Rozszerzenie listy o elementy innej listy (extend)

Mamy dane dwie listy:

lista1 = [1, 2, 3]
lista2 = [4, 5, 6]

Ich połączenia można dokonać dodając je do siebie, np:

lista3 = lista1 + lista2

print(lista3)
[1, 2, 3, 4, 5, 6]

Można natomiast rozszerzyć listę o elementy innej listy za pomocą metody extend:

lista1.extend(lista2)

print(lista1)
[1, 2, 3, 4, 5, 6]