0Pricing
Python Academy · Lekcja

Rozumienie słownikowe

Proszę zwięźle tworzyć słowniki za pomocą składni rozumienia.

Rozumienie słownikowe to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 4 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

Wyrażenia słownikowe zapewniają zwięzły sposób tworzenia słowników z dowolnego obiektu iterowalnego.

Podstawowe wyrażenie słownikowe

{k: v for k, v in items} to podstawowa postać. Przykład: {x: x**2 for x in range(5)} przypisuje liczbom ich kwadraty.
squares = {x: x**2 for x in range(5)}
print(squares)

Z warunkiem

Na końcu należy dodać if, aby filtrować elementy: {x: x**2 for x in range(10) if x % 2 == 0} zachowuje tylko liczby parzyste.
evens = {x: x**2 for x in range(10) if x % 2 == 0}
print(evens)

Odwracanie słownika

{v: k for k, v in d.items()} zamienia klucze z wartościami. Działa tylko wtedy, gdy wszystkie wartości są unikatowe i haszowalne.
d = {'a': 1, 'b': 2, 'c': 3}
inverted = {v: k for k, v in d.items()}
print(inverted)

Z dwóch list

{k: v for k, v in zip(keys, values)} to najczytelniejszy sposób tworzenia słownika z równoległych list.
keys = ['name', 'age']
vals = ['Alice', 30]
d = {k: v for k, v in zip(keys, vals)}
print(d)

Przekształcanie wartości

Funkcję można zastosować do wszystkich wartości: {k: v.upper() for k, v in d.items()} konwertuje wszystkie wartości tekstowe na wielkie litery.
d = {'a': 'hello', 'b': 'world'}
result = {k: v.upper() for k, v in d.items()}
print(result)

Zagnieżdżone wyrażenie słownikowe

{outer_k: {inner_k: inner_v} ...} zagnieżdża wyrażenia. Należy pamiętać o czytelności — jeśli rozwiązanie jest złożone, warto użyć zwykłej pętli.
nested = {i: {j: i*j for j in range(3)} for i in range(3)}
print(nested)

Grupowanie za pomocą wyrażenia

Elementy można grupować według właściwości: {k: [v for v in values if condition(v, k)] for k in keys}
words = ['apple', 'art', 'banana', 'blueberry']
grouped = {ch: [w for w in words if w.startswith(ch)] for ch in 'ab'}
print(grouped)

Scalanie i nadpisywanie

{**d1, **d2} scala dwa słowniki w sposób podobny do wyrażenia słownikowego. W przypadku zduplikowanych kluczy wygrywają wartości z d2.
d1 = {'a': 1, 'b': 2}
d2 = {'b': 99, 'c': 3}
merged = {**d1, **d2}
print(merged)

Słownik a defaultdict

Wyrażenia tworzą zwykłe słowniki. Należy użyć defaultdict, gdy potrzebna jest automatyczna inicjalizacja brakujących kluczy.
from collections import defaultdict
d = defaultdict(list)
for w in ['apple', 'art', 'banana']:
    d[w[0]].append(w)
print(dict(d))

Wydajność

Wyrażenia słownikowe są zazwyczaj szybsze niż równoważne konstrukcje z pętlą for, ponieważ interpreter optymalizuje je wewnętrznie.
# Comprehension
squares = {x: x**2 for x in range(1000)}
print(len(squares))

Szybkie sprawdzenie

Co robi {v: k for k, v in d.items()}?

Podsumowanie

Wyrażenia słownikowe: {k: v for ... if ...}. Należy ich używać do odwracania słowników, przekształcania wartości, grupowania i filtrowania. Można je łączyć z zip() w przypadku równoległych list.

Kontynuuj

Świetnie! Proszę przejść do następnej lekcji, aby nadal rozwijać swoje umiejętności.

Często zadawane pytania

Czy lekcja „Rozumienie słownikowe” jest bezpłatna?

Tak — pełny tekst „Rozumienie słownikowe” 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 słownikowe”?

Proszę zwięźle tworzyć słowniki za pomocą składni rozumienia. Ć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 4 z 4.

Ile czasu zajmuje lekcja „Rozumienie słownikowe”?

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. Podstawy słowników
  2. Metody słowników
  3. Zbiory i operacje na zbiorach
  4. Rozumienie słownikowe
← Powrót do Python Academy