Programowanie w Pythonie(8): Listy

W tej lekcji zajmiemy się listami, czyli typem danych przeznaczonym do przenoszenia różnych zestawów informacji i ustawiania ich w odpowiedniej sekwencji. Możemy w nich umieszczać stringi, wartości liczbowe, wartości logiczne i wiele więcej.

Ludzie listy piszą…

Elementy do listy można przypisywać, używając poniższej składni:

1
lista = [el1, el2, el3]

Wszystkie jej elementy muszą zawierać się w nawiasach kwadratowych i być od siebie oddzielone przecinkami. Jeśli chcemy, możemy stworzyć pustą listę. Wystarczy, że między nawiasami kwadratowymi nie będzie się nic znajdowało.

Ćwiczenie: Uzupełnij poniższą listę tak, aby skrypt działał.

1
2
3
4
5
literki = ["A", "B", "C", ]
print("Pierwsza literka to " + literki[0])
print("Druga literka to " + literki[1])
print("Trzecia literka to " + literki[2])
print("Czwarta literka to " + literki[3])

Dostęp do elementów

Możemy uzyskiwać dostęp do poszczególnych elementów listy poprzez ich numer indeksu. Opisuje on miejsce elementu za pomocą liczby naturalnej. Indeks powinien pojawiać się bezpośrednio po nazwie listy: lista[numer].

Trzeba pamiętać, że indeksy zaczynają się od liczby 0, a nie 1. Dostęp do pierwszego elementu uzyskamy zapisując wyrażenie lista[0], a do drugiego wpisując lista[1].

Ćwiczenie. Dana jest lista liczby = [2, 3, 5, 7, 9]. Zapisz wyrażenie, które zapisze wynik dodawania drugiego i piątego elementu.

Podmianki

Elementy list zachowują się tak samo jak zmienne. Można wywoływać za pomocą nich wartości jak i nadpisywać już te obecne. Mając daną listę obiady["bigos", "gulasz", "leczo", "kanapka"], możemy zapisać wyrażenie lista[1] = "knedle", co spowoduje podmianę elemtentu "gulasz" na "knedle".

Dodawanie do listy, długość listy

Listy w Pythonie nie mają z góry narzuconej długości. Można dodawać kolejne elementy w dowolnym momencie. Wpisz w interpreterze poniższy kod i zobacz, co się stanie:

1
2
3
4
5
literki = ["A", "B", "C"]
len(literki)
literki.append("X")
len(literki)
print(literki)

Zauważ, że wyrażenie len(literki) zwracało za każdym razem aktualną długość listy literki.

Wycinanki

Czasami zachodzi potrzeba wypisania tylko części zawartości listy – powiedzmy od drugiego elementu do piątego. Omówmy poniższy kod:

1
2
3
4
miesiace = ["sty", "lut", "mar", "kwi", "maj", "cze", "lip", "sie", "wrz", "paz", "lis", "gru"]
wycinek = miesiace[1:5]
print(wycinek)
print(miesiace)

Najpierw definiujemy listę, składającą się z początkowych trzech liter dwunastu miesięcy. Następnie wybieramy z listy pewne jej elementy i zapisujemy je w zmiennej wycinek. Robimy to, opisując granice wycinka za pomocą liczb 15. Zapis ten oznacza dosłownie: Weź wszystkie elementy z listy, zaczynając od tego z etykietą 1 i skończ na tym, który znajduje się przed etykietą 5.

Potem drukujemy na ekran listę wycinek i do porównania listę miesiace.

W identyczny sposób można wycinać stringi. Wystarczy zerknąć na działanie poniższego kodu:

1
2
3
4
zwierzeta = "papugasikorkapelikan"
zwierze1 = zwierzeta[:6]
zwierze2 = zwierzeta[6:13]
zwierze3 = zwierzeta[13:]

Przeszukiwanie i podstawianie do list

Python udostępnia bardzo przyjemne narzędzia pozwalające na przeszukiwanie list pod kątem konkretnego elementu. Odpowiada za to metoda .index. Z kolei metoda .insert będzie wstawiała element w konkretne miejsce na liście. Skomplikowane?

Przykład: Prześledź samodzielnie działanie tego kodu

1
2
3
4
miasta = ["Warszawa", "Katowice", "Sopot"]
print(miasta.index("Katowice"))
miasta.insert(1,"Bytom")
print(miasta)

Usuwanie elementów z listy

Czasami zachodzi potrzeba usunięcia elementu z listy. Zobacz, jak zadziała poniższy kod:

1
2
3
miasta = ["Warszawa", "Katowice", "Sopot"]
miasta.remove("Warszawa")
print(miasta)

Co wydrukował interpreter? No właśnie – lista zawiera już tylko dwa miasta.

Autor artykułu: Piotr Szlagor

Nauczyciel matematyki i przedmiotów informatycznych w Zespole Szkół Technicznych i Handlowych i Dwujęzycznych Szkołach im. Władysława Kopalińskiego w Bielsku-Białej. Autor wielu publikacji poświęconych nauce podstaw programowania, w tym "Scratch. Nauka programowania przez zabawę", wydanej drukiem przez wydawnictwo Komputer Świat. Entuzjasta wykorzystywania nowych nowoczesnych narzędzi w czasie lekcji. Prywatnie miłośnik koszykówki i aktywnego wykorzystywania czasu.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.