0Pricing
Python Academy · Lekcja

Metody słowników

Proszę używać metod get, keys, values, items, update i pop.

Metody słowników to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 2 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

Słowniki Pythona udostępniają bogaty zestaw metod do scalania, przekształcania i bezpiecznego uzyskiwania dostępu do danych.

keys(), values(), items()

Metody te zwracają obiekty widoku, które odzwierciedlają zmiany w słowniku. Jeśli potrzebna jest migawka, należy przekonwertować widok na listę.
d = {'a': 1, 'b': 2}
print(list(d.keys()))
print(list(d.values()))
print(list(d.items()))

update()

d.update({'c': 3, 'd': 4}) scala ze słownikiem d inny słownik. Istniejące klucze zostają nadpisane.
d = {'a': 1}
d.update({'b': 2, 'a': 99})
print(d)

pop() z wartością domyślną

d.pop('key', default) usuwa klucz i zwraca jego wartość. Jeśli klucza nie ma i nie podano wartości domyślnej, zgłaszany jest KeyError.
d = {'a': 1, 'b': 2}
val = d.pop('a')
print(val, d)

popitem()

d.popitem() usuwa i zwraca ostatnio wstawioną parę (klucz, wartość). W przypadku pustego słownika zgłaszany jest KeyError.
d = {'a': 1, 'b': 2}
print(d.popitem())
print(d)

setdefault()

d.setdefault('key', default) wstawia wartość domyślną, jeśli klucza nie ma, i zwraca wartość. Pozwala uniknąć wielokrotnego używania get i przypisywania wartości.
d = {}
d.setdefault('count', 0)
d['count'] += 1
print(d)

Scalanie za pomocą | (Python 3.9+)

d1 | d2 zwraca nowy scalony słownik. d1 |= d2 aktualizuje d1 w miejscu. Jest to czytelniejsze niż update().
d1 = {'a': 1}
d2 = {'b': 2}
print(d1 | d2)

copy() i deepcopy()

d.copy() tworzy kopię płytką. W przypadku zagnieżdżonych słowników należy użyć copy.deepcopy(d), aby uniknąć współdzielonych odwołań.
import copy
d = {'a': [1,2]}
deep = copy.deepcopy(d)
deep['a'].append(3)
print(d, deep)

Counter z collections

from collections import Counter; Counter('banana') automatycznie zlicza częstotliwość znaków.
from collections import Counter
c = Counter('banana')
print(c)

defaultdict

from collections import defaultdict; d = defaultdict(list) automatycznie tworzy pustą listę dla brakujących kluczy.
from collections import defaultdict
d = defaultdict(list)
d['a'].append(1)
print(d)

OrderedDict (uwaga dotycząca starszego rozwiązania)

W Pythonie 3.7+ zwykłe słowniki zachowują kolejność wstawiania. OrderedDict nadal jest przydatny w przypadku move_to_end() oraz równości zależnej od kolejności.
from collections import OrderedDict
od = OrderedDict({'a':1,'b':2})
od.move_to_end('a')
print(list(od))

Szybkie sprawdzenie

Co robi d.setdefault('key', 0), jeśli 'key' nie znajduje się w d?

Podsumowanie

Metody słowników: update, pop/popitem, setdefault, copy/deepcopy. Należy używać Counter do zliczania częstotliwości, defaultdict, aby uniknąć sprawdzania brakujących kluczy, oraz | do scalania (3.9+).

Kontynuuj

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

Często zadawane pytania

Czy lekcja „Metody słowników” jest bezpłatna?

Tak — pełny tekst „Metody słowników” 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 „Metody słowników”?

Proszę używać metod get, keys, values, items, update i pop. Ć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 2 z 4.

Ile czasu zajmuje lekcja „Metody słowników”?

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