Lista składana lub wyrażenie listowe () – konstrukcja dostępna w niektórych językach programowania (np. Python) umożliwiająca tworzenie nowej listy na podstawie istniejącej sekwencji. Pozwala na zwięzły zapis złożonych operacji na listach, łącząc w jednej linii kodu tworzenie listy, pętlę i instrukcję warunkową.

Składnia Ogólna struktura listy składanej to: lista = [wyrażenie for wyraz in sekwencja if warunek] Instrukcja warunkowa jest opcjonalna, więc lista składana może mieć również postać: lista = [wyrażenie for wyraz in sekwencja]

Składnia ta nawiązuje do matematycznej notacji (w języku angielskim określanej jako lub ), za pomocą której można definiować zbiór. Zgodnie z tą notacją, z definicji zbioru wynika, że element należy do zbioru wtedy i tylko wtedy, gdy spełnia funkcję zdaniową . Przykładowo, zapis oznacza zbiór liczb naturalnych mniejszych bądź równych 3.

Przykład zastosowania listy składanej w języku Python to: l = [2 * n for n in (0, 1, 2) if n > 0]

Powyższa linia kodu tworzy listę na podstawie krotki (0, 1, 2) wybierając z niej elementy większe od zera i mnożąc je przez 2. Po wykonaniu tej linii kodu zmienna l zawiera listę dwuelementową [2, 4]. Aby uzyskać taki sam wynik za pomocą klasycznej pętli należałoby użyć następującego fragmentu kodu: l = [] for n in (0, 1, 2): if n > 0: l.append(2 * n)

Pokrewne konstrukcje W języku Python analogiczną konstrukcję można stosować także do tworzenia słowników i zbiorów. Przykładowo, następujący fragment kodu tworzy słownik, w którym kluczami są liczby naturalne od 1 do 5, a wartościami kwadraty tych liczb:

s = {x: x ** 2 for x in [1, 2, 3, 4, 5]}

Przypisy

Kategoria:Konstrukcje programistyczne