Jakie jest znaczenie ' niepasowanego typu ' błąd w Pythonie?


Najlepsza odpowiedź

Najpierw zrozumiemy, co można skasować, a co nie. Mówiąc prościej, określamy elementy, których wartości nie można zmienić jako haszowalne, a obiekty, których wartości można zmienić jako niemożliwe do zhasowania.

Na przykład w Pythonie wszystkie niezmienne obiekty można określić jako haszowalne, a obiekty zmienne można określić jako nierozłączne. Weźmy przykład, gdzie możemy uzyskać taki błąd i dlaczego go otrzymujemy.

Na przykład, gdy używasz listy jako klucza w słowniku Nie można tego zrobić i otrzymamy błąd TypeError: unhashable type.

Dzieje się tak, ponieważ listy nie mogą być zaszyfrowane i próbujemy użyć listy jako argumentu haszującego. oznacza, że ​​jeśli spróbujesz zaszyfrować obiekt, którego nie można zhashować, wystąpi ten błąd. Standardowym sposobem rozwiązania tego problemu jest rzutowanie listy na krotkę.

A ponieważ krotki są niezmienne, a zatem mogą być hashowane, może działać.

Odpowiedź

dict = {a: 1}

Jego błąd typu show unhashable type in Python cmd on window.

Hashowalne znaczenie w Pythonie polega na tym, która wartość nigdy nie jest zmienna. A niemożliwa do zhaszowania jest przeciwieństwem Hashable. W Dictionary wartość można zaktualizować w dowolnym momencie, ale jeśli interpreter Pythona rozumie jego typ danych. W moim przykładzie dict = {a: 1} (key = a, value = 1) a jest typem danych typu string, ale tutaj nie jest przestrzegana reguła typu danych typu string, która jest zapisywana e umieszczanie znaków w cudzysłowie. Dlatego interpreter powiedział, że ta wartość typu danych jest niemożliwa do zhasowania (zmienna), ale typ danych jest źle rozumiany.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *