0Pricing
Python Academy · Lekcja

Rozumienie listowe

Proszę zwięźle tworzyć listy za pomocą składni rozumienia i warunków.

Rozumienie listowe to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Python Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python Academy zawiera 4 lekcji w sumie.

Wprowadzenie

List comprehensions tworzą nowe listy z obiektów iterowalnych za pomocą jednego czytelnego wyrażenia, zastępując typowe schematy pętli for.

Podstawowa składnia

[expression for item in iterable] to podstawowa postać. [x*2 for x in range(5)] daje wynik [0,2,4,6,8].
doubled = [x*2 for x in range(5)]
print(doubled)

Z warunkiem

[x for x in range(10) if x%2==0] filtruje liczby parzyste. Klauzula if występuje po klauzuli for.
evens = [x for x in range(10) if x % 2 == 0]
print(evens)

Przekształcanie ciągów znaków

[word.upper() for word in words] stosuje upper() do każdego ciągu znaków. Działa na dowolnym obiekcie iterowalnym.
words = ['hello', 'world']
print([w.upper() for w in words])

Zagnieżdżona list comprehension

[x for row in matrix for x in row] to spłaszczona zagnieżdżona list comprehension (czyta się ją od lewej do prawej, najpierw wykonując pętlę zewnętrzną).
matrix = [[1,2,3],[4,5,6]]
flat = [x for row in matrix for x in row]
print(flat)

if/else w wyrażeniu

[x if x>0 else 0 for x in lst] używa operatora trójargumentowego w części wyrażenia (przed for), a nie po niej.
lst = [-1, 2, -3, 4]
clipped = [x if x > 0 else 0 for x in lst]
print(clipped)

List comprehension a map/filter

[f(x) for x in it if cond(x)] jest równoważne list(map(f, filter(cond, it))), ale jest czytelniejsze.
nums = range(10)
result = [x**2 for x in nums if x%2==0]
print(result)

Spłaszczanie za pomocą list comprehension

W przypadku co najmniej dwóch poziomów zagnieżdżenia list comprehension może spłaszczyć dane: [[1,2],[3,4]] → [1,2,3,4].
nested = [[1,2],[3,4],[5]]
flat = [x for sub in nested for x in sub]
print(flat)

List comprehension z enumerate()

[(i, x) for i, x in enumerate(lst)] zwraca listę par indeks-wartość.
colors = ['red', 'green', 'blue']
indexed = [(i, c) for i, c in enumerate(colors)]
print(indexed)

List comprehension z zip()

[a+b for a, b in zip(lst1, lst2)] dodaje odpowiadające sobie elementy dwóch list.
a = [1, 2, 3]
b = [10, 20, 30]
print([x+y for x,y in zip(a,b)])

Kiedy NIE używać list comprehension

Jeśli logika jest złożona lub wymaga efektów ubocznych, należy użyć zwykłej pętli for. List comprehensions powinny pozostać jednolinijkowe.
# Too complex for comprehension:
result = []
for x in range(10):
    if x > 5:
        result.append(x * x)
print(result)

Szybkie sprawdzenie

Gdzie umieszcza się operator trójargumentowy w list comprehension zawierającej zarówno warunek, jak i operator trójargumentowy?

Podsumowanie

List comprehensions: [expr for x in it if cond]. Operator trójargumentowy w wyrażeniu: [x if cond else y for x in it]. Należy używać ich do płaskich, czytelnych przekształceń.

Proszę kontynuować

Doskonale! Proszę przejść do następnej lekcji, aby pogłębić swoje umiejętności.

Często zadawane pytania

Czy lekcja „Rozumienie listowe” jest bezpłatna?

Tak — pełny tekst „Rozumienie listowe” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Python Academy, przejdź na CoddyKit PRO. Kurs Python Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Rozumienie listowe”?

Proszę zwięźle tworzyć listy za pomocą składni rozumienia i warunków. Ćwiczysz Python Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Python Academy?

Nie wymagamy żadnego doświadczenia. Python Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Rozumienie listowe”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Python Academy?

Tak. Każda lekcja Python Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Rozumienie listowe
  2. Rozumienie zbiorów i słowników
  3. Wyrażenia generatorowe
  4. Słowo kluczowe yield
← Powrót do Python Academy