Хешируем ли е списъкът на Python?
Хешируем ли е списъкът на Python?

Видео: Хешируем ли е списъкът на Python?

Видео: Хешируем ли е списъкът на Python?
Видео: Какими могут быть ключи словарей и причем тут hash()? 2024, Ноември
Anonim

Всички на Python неизменни вградени обекти са хеширане , докато няма променливи контейнери (като напр списъци или речници) са. Обектите, които са екземпляри на дефинирани от потребителя класове, са хеширане по подразбиране; всички те сравняват неравностойно и тяхната хеш стойност е техният id().

Точно така, хешират ли се кортежите в Python?

10.1 Кортежи са неизменни Стойностите, съхранени в a кортеж могат да бъдат от всякакъв тип и се индексират с цели числа. Важната разлика е, че кортежи са неизменни. Кортежи също са сравними и хеширане така че можем да сортираме списъци от тях и да ги използваме кортежи като ключови стойности в Python речници.

какво означава нещо да може да се хешира? Предмет е каза се хеширане ако то има хеш стойност, която остава същата през целия си живот. Обекти, които са екземпляри на дефинирани от потребителя класове подлежащи на хеширане по подразбиране; всички те сравняват неравностойно (освен със себе си) и тяхната хеш стойност е извлечено от theirid().

Имайки предвид това, какво означава Unhashable Python?

Тип грешка: нехешируем тип: 'списък' обикновено означава че се опитвате да използвате списък като хеш аргумент. Това означава че когато се опитате да хеширате an нехешируем обект, това ще доведе до грешка. Напр. Стандартният начин за решаване на този проблем е прехвърлянето на списък към кортеж.

Неизменни ли са списъците в Python?

Всичко вътре Python е обект. И това, което всеки новодошъл Python трябва бързо да научите, че всички обектив Python може да бъде променлив или неизменна . Обекти от вградени типове като (int, float, bool, str, tuple, unicode) са неизменна . Обекти от вградени типове като ( списък , set, dict) са променливи.

Препоръчано: