и посмотреть медиа
Python Interview Questions - tests
и посмотреть медиа
Questions, tests and tasks for Python interviews.
Questions, tests and tasks for Python interviews.
AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.
Channel with questions for Python interviews. Tests, tasks and materials for preparation.
🤔 Что такое хешируемые типы данных? Это такие типы данных, которые имеют постоянное (неизменяемое) хеш-значение на протяжении всего времени их существования. Это означает, что их можно использовать в качестве ключей в словарях (dict) и элементов в множествах (set), так как они поддерживают вычисление хеша с помощью функции hash(). 🚩Как понять, что объект хешируемый? 🟠Объект должен быть неизменяемым если объект можно изменить после создания, его хеш тоже изменится, что нарушает работу структур данных (словари, множества). 🟠Должен реализовывать метод `__hash__()` который возвращает уникальный идентификатор объекта. 🚩Какие типы данных хешируемые? Числа (int, float, complex) print(hash(42)) # 42 print(hash(3.14)) # 322818021289917443 print(hash(1 + 2j)) # 8389048192121911274 Строки (str) print(hash("hello")) # Например, 5320385861927423548 Кортежи (tuple), если все их элементы тоже хешируемые: print(hash((1, 2, 3))) # 529344067295497451 Булевы значения (bool): print(hash(True)) # 1 print(hash(False)) # 0 🚩Какие типы НЕ хешируемые? Списки (list) hash([1, 2, 3]) # TypeError: unhashable type: 'list' Множества (set) hash({1, 2, 3}) # TypeError: unhashable type: 'set' Словари (dict) hash({"a": 1}) # TypeError: unhashable type: 'dict' 🚩Почему это важно? Хешируемые типы используются в словари (dict) и множества (set), так как они используют хеш-функцию для быстрого поиска данных. my_dict = { (1, 2, 3): "tuple_key" } # Работает, потому что кортеж неизменяемый my_set = { 42, "hello", (1, 2) } # Все элементы хешируемые Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!