Powiel możliwe:
Why are python strings and tuples are made immutable?Dlaczego tuple nie można zmienić w Pythonie?
Co konstrukcja sprawia niższego poziomu nie krotki zmienny w Pythonie? Dlaczego ta funkcja jest przydatna?
Powiel możliwe:
Why are python strings and tuples are made immutable?Dlaczego tuple nie można zmienić w Pythonie?
Co konstrukcja sprawia niższego poziomu nie krotki zmienny w Pythonie? Dlaczego ta funkcja jest przydatna?
Kilka powodów:
__hash__
metody oparte na ich zawartość, wartości zwracane mogą się zmienić wraz zawartość zmianie, co narusza umowę o wartości hash. tylkotuple
, która będzie kopiowana tylko wtedy, gdy będzie to konieczne.Bo inaczej nie byłaby niezmienna typu sekwencja! Jeśli chcesz mieć zmienną krotkę, po prostu użyj listy.
Stosowanie niezmiennych typów, o ile ma to zastosowanie, ma różne zalety wydajnościowe, a używanie kluczy krotkowych, jeśli zostało zmienione, nie mogłoby być łatwe z użyciem dict
.
Ich wartości hash można zmienić? Huh? – wim
wim -> hash vaules zmienia się po zmianie listy. Lista może się zmienić, jeśli istnieje ref w innym miejscu na liście. –
lista jest nieobsługiwana. – wim