Hej
Obecnie jestem na bardzo wczesnym etapie nauki Pythona, ale chyba coś pominąłem kilka tematów temu i teraz nie wiem czym jest key. Żeby wprowadzić w temat dołączam w załączniku screena.
Z góry dzięki za pomoc. :)
Słownik (dictionary) to taki zbiór par. Każda taka para ma klucz i wartość, oddzielone dwukropkiem. Np.:
{'foo': 1, 865: 12}
Kluczami w tym słowniku są 'foo'
i 865
, a wartościami 1
i 12
. Jak widzisz klucze i wartości mogą być dowolnego typu, także różnego, jak to już w Pythonie bywa :) Klucze nie mogą się powtarzać, wartości jak najbardziej.
Klucze nie mogą być dowolnego typu (próbowałeś użyć np. listy?). Klucze muszą być niemodyfikowalne, ponieważ ich aktualizacja mogłaby pociągać za sobą aktualizację hasha.
Nie tyle niemodyfikowalne co hashowalne. Nic na poziomie języka nie sprawdza, czy dany typ jest immutable. Natomiast, użycie typu niehashowalnego jako klucz się po prostu wypieprza. http://ideone.com/MBdfVh
A dokładniej, muszą być hashowalne, i jeśli są kolekcjami (tuple
np. jest hashowalne), to każdy element kolekcji musi być hashowalny. http://ideone.com/i1A6HJ