100
Rozdział 3.
Słowniki uwielbiają nawiasy kwadratowe
Wyszukiwanie wartości przy użyciu nawiasów kwadratowych
Sposób korzystania z nawiasów kwadratowych w przypadku słowników jest dokładnie taki sam jak
w przypadku list. Zamiast jednak odwoływać się do danych znajdujących się na określonej pozycji za pomocą
wartości indeksu, w słowniku Pythona do danych odwołuje się za pomocą powiązanego z nią klucza.
Jak mieliśmy okazję zobaczyć na końcu poprzedniej strony, gdy wewnątrz nawiasów kwadratowych
znajdujących się obok nazwy słownika umieści się klucz, interpreter zwróci powiązaną z tym kluczem
wartość. Aby utrwalić tę ideę w Twojej głowie, raz jeszcze przyjrzyjmy się przedstawionym wcześniej
przykładom.
Słowniki przeszukuje się szybko!
Cechą, która sprawia, że słowniki Pythona są tak przydatne, jest właśnie możliwość wydobywania
dowolnej wartości ze słownika za pomocą powiązanego z nią klucza. Dzieje się tak, ponieważ
istnieje bardzo wiele sytuacji, w których możliwość ta znajduje zastosowanie. Przykładem może
tu być wyszukiwanie szczegółowych danych o użytkowniku w jego profilu, czyli dokładnie ta
operacja, którą przeprowadziliśmy powyżej, korzystając ze słownika
person3
.
Kolejność przechowywania danych w słowniku nie ma najmniejszego znaczenia. Naprawdę
liczy się tylko to, czy interpreter może
szybko odwołać się do wartości powiązanej z kluczem
(niezależnie od wielkości słownika). Dobra dla nas nowina głosi, że dzięki zastosowaniu
wysoce zoptymalizowanego
algorytmu mieszającego tak właśnie jest. Podobnie jak
większością wewnętrznych mechanizmów Pythona, również tym mechanizmem nie musisz się
szczególnie przejmować. Troskę o szczegóły pozostaw interpreterowi, a samemu zaś jedynie
korzystaj z możliwości oferowanych przez słownik.
obiekt
obiekt
obiekt
obiekt
klucz nr 1
klucz nr 2
klucz nr 3
klucz nr 4
Słownik
Płeć mężczyzna
Nazwisko
Ford Prefect
Planeta macierzysta Betelgeza Siedem
Zawód badacz
Płeć mężczyzna
Nazwisko
Ford Prefect
Planeta macierzysta Betelgeza Siedem
Zawód badacz
>>> person3[‘Planeta macierzysta’]
‘Betelgeza Siedem’
>>> person3[‘Nazwisko’]
‘Ford Prefect’
Porady maniaka
Słownik Pythona został
zaimplementowany jako tablica
mieszająca o zmiennym rozmiarze,
którą silnie zoptymalizowano
pod kątem występowania wielu
szczególnych przypadków. Dzięki
temu słowniki wyszukują dane
bardzo szybko i sprawnie.

Get Python Rusz głową! Wydanie II now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.