Czy lista jest haszowalna w Pythonie?
Czy lista jest haszowalna w Pythonie?

Wideo: Czy lista jest haszowalna w Pythonie?

Wideo: Czy lista jest haszowalna w Pythonie?
Wideo: Hash Table - Data Structures & Algorithms Tutorials In Python #5 2024, Może
Anonim

Wszystkie z Pythona niezmienne obiekty wbudowane są haszowalny , podczas gdy nie ma zmiennych kontenerów (takich jak listy lub słowniki) są. Obiekty, które są instancjami klas zdefiniowanych przez użytkownika, są haszowalny domyślnie; wszystkie porównują nierówne, a ich wartością hash jest ich id().

Tak więc, czy krotki można haszować w Pythonie?

10.1 Krotki są niezmienne Wartości przechowywane w a krotka mogą być dowolnego typu i są indeksowane liczbami całkowitymi. Ważną różnicą jest to, że krotki są niezmienne. Krotki są również porównywalne i haszowalny więc możemy sortować ich listy i używać krotki jako kluczowe wartości w Pyton słowniki.

co to znaczy, że coś można haszować? Obiekt jest mówi się, że jest haszowalny Jeśli to ma wartość skrótu, która pozostaje taka sama przez cały okres istnienia. Obiekty, które są instancje klas zdefiniowanych przez użytkownika można je zahasować domyślnie; wszyscy porównują nierówne (z wyjątkiem siebie) i ich wartość hash jest pochodzi od ichid().

Biorąc to pod uwagę, co oznacza Unhashable w Pythonie?

Błąd typu: nie do zaszyfrowania wpisz: 'lista' zwykle znaczy że próbujesz użyć listy jako argumentu haszującego znaczy że kiedy próbujesz haszować i nie do zaszyfrowania obiekt spowoduje błąd. Na przykład Standardowym sposobem rozwiązania tego problemu jest rzutowanie listy na krotkę.

Czy listy są niezmienne w Pythonie?

Wszystko w Pyton jest przedmiotem. A co każdy nowoprzybyły? Pyton powinien szybko nauczyć się, że wszystkie obiekty są Pyton może być zmienny lub niezmienny . Obiektami typów wbudowanych, takich jak (int, float, bool, str, tuple, unicode) są niezmienny . Obiekty wbudowanych typów, takie jak ( lista , set, dict) są zmienne.

Zalecana: