Квиз: Типы данных в Python: изменяемость, хэшируемость, словари и множества
Тест на знание типов данных в Python
Тест на знание типов данных в Python
Тест на знание типов данных в Python
Конечно! Для начала можно ли вы уточнить, какие именно типы данных в Python вас интересуют (изменяемые и неизменяемые данные)? Также полезно знать о хэшируемости и операциях над множествами.
Предлагаю охватить такие темы:
list, dict, set, bytearrayint, float, str, tuple, frozenset, bytes|), пересечение (&), разность (-), симметрическая разность (^)Например:
d = {(1, 2): "a", "x": [1, 2]}
s = {1, 2, 3}
Какие утверждения верны?
(1, 2) может быть ключом словаря.[1, 2] можно добавить в множество.d["x"] можно изменить.s & {2, 3, 4} равно {2, 3}.Ответ: 1, 3 и 4.
Всё верно для этого примера. Нюанс: кортеж можно использовать ключом только если хэшируемы все его элементы — например, (1, [2]) ключом быть не может. А значение словаря может быть изменяемым, поэтому d["x"].append(3) допустимо.
Да, именно. Кортеж хэшируем только если хэшируемы все его элементы: hash((1, [2])) вызовет TypeError, поэтому такой кортеж нельзя использовать ключом словаря. А значение словаря может быть изменяемым — d["x"].append(3) меняет сам список, не ключ словаря.
Да, ключевой нюанс именно в элементах кортежа: сам кортеж неизменяем, но hash() для него работает лишь тогда, когда хэшируем каждый элемент. А изменяемое значение словаря можно менять без переиндексации:
d = {"x": [1, 2]}
d["x"].append(3) # допустимо
d[(1, [2])] = "a" # TypeError: список не хэшируем
Обработчик данных: Learn Service
Мы используем файлы cookie и обрабатываем персональные данные для улучшения работы сайта,
персонализации контента и анализа трафика. Вы можете выбрать, какие типы cookies разрешить.
Дополнительную информацию найдете в нашей Политике конфиденциальности
и Политике использования cookies.
Правовое основание: Выполнение договора и соблюдение юридических обязательств
Время обработки: На время вашей сессии + 1 год для согласия
Эти файлы cookie необходимы для работы сайта (авторизация, защита безопасности, предпочтения).
Они обычно устанавливаются в ответ на ваши действия и не могут быть отключены без нарушения работы сайта.
Правовое основание: Согласие (конфиденциально)
Время обработки: До 24 месяцев
Эти файлы cookie помогают нам понять, как посетители используют сайт,
собирая анонимную информацию (GA4). Данные полностью анонимны и не связаны с вашей личностью.
Правовое основание: Согласие
Время обработки: До 12 месяцев
Эти файлы cookie позволяют сайту предоставлять расширенные функции и персонализацию
(выбор языка, регион, предпочтения отображения).
Правовое основание: Согласие
Время обработки: До 30 месяцев
Эти файлы cookie используются для показа релевантной рекламы и отслеживания
эффективности маркетинговых кампаний на основе ваших интересов.