Nauka programowania w języku Python: Listy składane

Listy składane

Listy składane (ang. list comprehensions) – są to krótkie i zwięzłe konstrukcje, które pozwalają na tworzenie list w jednej linii kodu. Listy składane są potężnym narzędziem, które sprawia, że kod staje się bardziej czytelny i efektywny. 

Składnia listy składanej

Składnia list składanych jest dość prosta. Oto ogólna struktura:

programowanie w python listy składane

nowa_lista – nazwa nowo tworzonej listy

wyrażenie – wartość jaka będzie elementem nowej listy

element – zmienna do której zostają wczytane w pętli for wszystkie elementy z sekwencji

sekwencja – jest to lista, na podstawie której tworzymy nową listę

warunek (opcjonalny) – służy do filtrowania elementów

 

Przykład

Spróbujmy stworzyć nową listę, która będzie zawierała wyniki podniesienia do potęgi drugiej elementów drugiej listy. Spójrzcie na poniższy fragment kodu.

kod źródłowy Python lista składana

Na początku definiujemy sobie listę zawierającą liczby całkowite od 1 do 5. 

W następnej linii tworzymy nową listę kwadratyLiczb. Analizę tej linii zaczniemy od końca. Na podstawie sekwencji: liczby w pętli for wczytywane są do zmiennej x kolejne elementy, następnie element x zostaje podniesiony do potęgi drugiej (wyrażenie: x ** 2). W tym przykładzie nie ma warunku po słowie if. Nie był nam potrzebny, ponieważ chcieliśmy wszystkie elementy listy liczby podnieść do potęgi drugiej.

Nie zapomnijcie, że konstrukcja ta musi się znajdować w nawiasach kwadratowych.

W ostatniej linii wypisujemy na okno konsoli elementy nowo powstałej listy. Otrzymujemy:

Przykład zawierający warunek

Spróbujmy stworzyć nową listę, która będzie zawierała słowa, które zawierają więcej niż 5 liter. Listę będziemy tworzyć na podstawie pewnego zdania. Spójrzcie na poniższy przykład:

W pierwszej linii mamy zdefiniowaną zmienną tekstową zdanie. Wiemy już, że nową listę możemy stworzyć na podstawie innej listy. Dlatego ze zmiennej zdanie tworzymy listę przy użyciu funkcji split()

Funkcja split tworzy listę z ciągu znaków. Na przykładzie nie ma ona żadnych parametrów. Jednak może ona występować z parametrem: separator (jest to znak wg którego będziemy dzielić tekst). Domyślnie jest to spacja.

Kod: zdanie.split() i zdanie.split(” „)  zwraca dokładnie tę samą listę. Czasami jednak chcemy wyłuskać słowa oddzielone przecinkami, używamy wtedy składni: zdanie.split(„,”).

W tym przykładzie występuje warunek po if. Korzystając z funkcji len, sprawdzamy, czy poszczególne elementy listy mają więcej liter niż 5. I tylko te elementy, które spełniają ten warunek zostają wybrane do nowej listy dlugieSlowa.

Funkcja len() – wylicza długość ciągu znaków.

W ostatniej linii wypisujemy wszystkie elementy nowej  listy. Otrzymujemy:

Cięcie stringów Python

Podsumowanie

Listy składane mają wiele zalet. Pozwalają na zapis skomplikowanych operacji w jednej linii kodu. Zwięzła składnia sprawia, że kod jest bardziej czytelny i łatwiej go zrozumieć.  Dodatkowo listy składane są zazwyczaj bardziej wydajne niż tradycyjne pętle. Warto się ich nauczyć i zacząć stosować we własnych programach.

Polecamy

Podręcznik do nauki programowania dla dzieci i młodzieży w języku Python, Ebook: Zadania dla młodzieży szkolnej Python oraz Kurs Online: Python dla dzieci i młodzieży – Programowanie od podstaw.

Recommended Posts