3.1 Wyświetlenie elementów podrzędnych
Jak już wiesz, słownik przechowuje w sobie pary elementów klucz-wartość. Ma metody, które pozwalają nam uzyskać dostęp do tych danych: keys()
, values()
i items()
. Poniżej opowiem o nich bardziej szczegółowo.
Ważne!
Te metody zwracają nie tylko listy elementów, ale tzw. widoki (view)
. Widoki słownika dostarczają dynamiczne przedstawienie kluczy, wartości i par klucz-wartość zawartych w słowniku. Te widoki automatycznie się aktualizują przy zmianie słownika.
Metoda keys()
Metoda keys()
zwraca przedstawienie wszystkich kluczy w słowniku. Wynikiem jest obiekt dict_keys
, który obsługuje iterację i inne operacje podobne do zbiorów.
person = {"name": "Alice", "age": 25, "city": "New York"}
keys = person.keys()
print(keys) # dict_keys(['name', 'age', 'city'])
Iteracja po kluczach
for key in person.keys():
print(key)
# Wyjście: # name # age # city
Metoda values()
Metoda values()
zwraca przedstawienie wszystkich wartości w słowniku. Wynikiem jest obiekt dict_values
, który również obsługuje iterację.
person = {"name": "Alice", "age": 25, "city": "New York"}
values = person.values()
print(values) # dict_values(['Alice', 25, 'New York'])
Iteracja po wartościach
for value in person.values():
print(value)
# Wyjście: # Alice # 25 # New York
Metoda items()
Metoda items()
zwraca przedstawienie wszystkich par klucz-wartość w słowniku. Wynikiem jest obiekt dict_items
, który obsługuje pracę z pętlami.
person = {"name": "Alice", "age": 25, "city": "New York"}
items = person.items()
print(items) # dict_items([('name', 'Alice'), ('age', 25), ('city', 'New York')])
Iteracja po parach klucz-wartość
for key, value in person.items():
print(f"{key}: {value}")
# Wyjście: # name: Alice # age: 25 # city: New York
3.2 Dynamiczna aktualizacja
Jedną z ważnych cech widoków słownika jest ich dynamiczna aktualizacja. Oznacza to, że jeśli słownik zostanie zmieniony, widoki automatycznie odzwierciedlą te zmiany.
person = {"name": "Alice", "age": 25}
keys = person.keys()
print(keys) # dict_keys(['name', 'age'])
# Dodanie nowego elementu
person["city"] = "New York"
print(keys) # dict_keys(['name', 'age', 'city'])
Przekształcanie widoków w inne kolekcje
Widoki słownika można przekształcić w inne kolekcje, takie jak listy, zbiory czy krotki, w celu wykonania dodatkowych operacji.
person = {"name": "Alice", "age": 25, "city": "New York"}
# Przekształcenie keys() w listę
keys_list = list(person.keys())
print(keys_list) # ['name', 'age', 'city']
# Przekształcenie values() w zbiór
values_set = set(person.values())
print(values_set) # {'Alice', 25, 'New York'}
# Przekształcenie items() w listę krotek
items_list = list(person.items())
print(items_list) # [('name', 'Alice'), ('age', 25), ('city', 'New York')]
GO TO FULL VERSION