Является ли Python хэшируемым списком?
Является ли Python хэшируемым списком?

Видео: Является ли Python хэшируемым списком?

Видео: Является ли Python хэшируемым списком?
Видео: Какими могут быть ключи словарей и причем тут hash()? 2024, Май
Anonim

Все Python неизменяемые встроенные объекты хэшируемый , в то время как нет изменяемых контейнеров (таких как списки или словари) есть. Объекты, которые являются экземплярами пользовательских классов, являются хэшируемый по умолчанию; все они сравниваются неравно, и их хеш-значение - это их id ().

Так можно ли хешировать кортежи в Python?

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

что значит быть хешируемым? Объект является сказал, чтобы быть хэшируемый если оно имеет хеш-значение, которое остается неизменным в течение всего времени существования. находятся экземпляры определяемых пользователем классов доступный по умолчанию; все они сравнивают неравные (кроме самих себя), и их хеш-значение является полученный из theirid ().

Учитывая это, что означает Unhashable Python?

TypeError: непостижимый тип: 'список' обычно средства что вы пытаетесь использовать список в качестве хеш-аргумента. средства что когда вы пытаетесь хешировать непостижимый объект, это приведет к ошибке. Например, Стандартный способ решить эту проблему - преобразовать список в кортеж.

Списки неизменяемы в Python?

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

Рекомендуемые: