SAMOUCZEK JĘZYKA PYTHON ROZDZIAŁY   
Rozdział 4: Struktury danych.

1: Więcej o listach - 2: Używanie listy jako stosu - 3: Używanie listy jako kolejki
4: Mechanizmy programowania funkcjonalnego - 5: Rozszerzenie składni listy - 6: Instrukcje del
7: Listy niemutowalne i sekwencyjne - 8: Słownik - 9: Jeszcze trochę o warunkach
10: Porównanie sekwencji i innych typów

Lekcja 8. Słowniki.


Innym użytecznym typem danych w Pythonie jest słownik. Słowniki spotykane są czasami w innych językach programowania jako ,,pamięć asocjacyjna'' lub ,,tablice asocjacyjne''. W odróżnieniu od sekwencji, które są indeksowane liczbami, słowniki indeksowane są kluczami, które mogą być obiektami dowolnego, niemutowalnego typu, np. napisy i liczby zawsze mogą być kluczami. Listy niemutowalne również mogą zostać użyte jako klucze, jeżeli zawierają napisy, liczby lub listy niemutowalne. Nie można użyć zwykłych list jako kluczy, ponieważ można je modyfikować za pomocą metody append().

Najlepiej wyobrazić sobie słownik jako nieuporządkowany zbiór par klucz:wartość, z założeniem, że klucze są unikalne (w jednym słowniku). Para nawiasów klamrowych tworzy pusty słownik: {}. Umieszczenie listy par "klucz:wartość", oddzielonych przecinkami w tych nawiasach dodaje początkowe pary klucz:wartość do słownika. w ten sposób słowniki są wyświetlane na standardowym wyjściu.

Głównymi operacjami na słownikach są wkładanie wartości z jakimś kluczem i wyciąganie wartości opatrzonej podanym kluczem. Możliwe jest usuwanie pary klucz:wartość za pomocą del. Jeżeli próbuje się przechować klucz, który istnieje już w słowniku, poprzednia wartość związana z tym kluczem jest zapominana. Błąd powstaje w wyniku próby pozyskania wartości spod klucza, który nie istnieje w słowniku.

Metoda obiektu słownika keys() zwraca listę wszystkich kluczy używanych w słowniku, w porządku losowym (jeżeli chce się uzyskać posortowaną listę kluczy, zastosuj po prostu metodę sort() na tej liście). Do sprawdzenia obecności klucza w słowniku służy metoda has_key().

Oto mały przykład użycia słownika:

>>> tel = {'jack': 4098, 'sape': 4139}
>>> tel['guido'] = 4127
>>> tel
{'guido': 4127, 'sape': 4139, 'jack': 4098}
>>> tel['jack']
4098
>>> del tel['sape']
>>> tel['irv'] = 4127
>>> tel
{'guido': 4127, 'irv': 4127, 'jack': 4098}
>>> tel.keys()
['guido', 'irv', 'jack']
>>> tel.has_key('guido')
1

Strona główna - O Pythonie - Interpreter - Samouczek - Przykłady programów - Linki