Czym jest key w Pythonie?

0

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. :)

4

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.

3

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.

2

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

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1