🐍 Python  ·  20 вопросов  ·  ~45 мин  ·  ⏱ Таймер 45:00  ·  Лёгкий  · 

Словари и множества

Разбирает ключи, значения, безопасный доступ, уникальность и операции над множествами. Тест построен вокруг реальных фрагментов и решений: от «Словари» и «Обход элементов» до «Множества» и «Выбор структуры». Все задания рассчитаны на CPython 3.12; отличия других реализаций или версий учитываются только там, где это прямо оговорено.

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Версия: CPython 3.12. Выберите один ответ из четырёх. На 20 вопросов отведено не меньше 40 минут; код лучше читать построчно. После завершения вы увидите общий процент, четыре тематические шкалы и объяснение каждого ответа.
Вопрос 1 из 20
Что напечатает словарь после повторного ключа?
Python
data = {"a": 1, "b": 2, "a": 3}
print(data, len(data))
Вопрос 2 из 20
Цикл проходит по словарю без `.values()` и `.items()`. Какой список накопится?
Python
data = {"x": 10, "y": 20}
result = []
for item in data:
    result.append(item)
print(result)
Вопрос 3 из 20
Какой результат дадут операции множеств?
Python
a = {1, 2, 3, 4}
b = {3, 4, 5}
print(sorted(a & b), sorted(a - b), sorted(a ^ b))
Вопрос 4 из 20
Сервису нужно быстро отсекать уже встречавшиеся идентификаторы, а порядок не важен. Какое проектное решение выбрать?
Вопрос 5 из 20
Что произойдёт с логически равными ключами?
Python
data = {1: "int", True: "bool", 1.0: "float"}
print(data, len(data))
Вопрос 6 из 20
Какой результат даст безопасный доступ?
Python
data = {"count": 0}
print(data.get("count", 10), data.get("missing", 10), "missing" in data)
Вопрос 7 из 20
Как безопасно удалить ключ и получить значение, не вызывая KeyError при его отсутствии?
Вопрос 8 из 20
Что выведет проверка подмножеств?
Python
a = {1, 2}
b = {1, 2, 3}
print(a < b, a <= {1, 2}, b.issuperset(a))
Вопрос 9 из 20
Что окажется в словаре после setdefault?
Python
data = {}
first = data.setdefault("items", []).append(1)
second = data.setdefault("items", []).append(2)
print(data, first, second)
Вопрос 10 из 20
Что напечатает обход items после изменения значения?
Python
data = {"a": 1, "b": 2}
for key, value in data.items():
    data[key] = value * 10
print(data)
Вопрос 11 из 20
Какой набор получится?
Python
values = [1, 1, 2, 3, 3]
seen = set(values)
seen.discard(4)
seen.remove(2)
print(sorted(seen))
Вопрос 12 из 20
Нужно сохранить соответствие `код → объект` и быстро получать объект по коду. Что выбрать?
Вопрос 13 из 20
Что выведет объединение словарей?
Python
left = {"a": 1, "b": 2}
right = {"b": 20, "c": 30}
merged = left | right
print(merged, left)
Вопрос 14 из 20
Что произойдёт при попытке использовать список как ключ?
Вопрос 15 из 20
Каков результат включения словаря?
Python
words = ["aa", "b", "cc", "ddd"]
data = {len(word): word for word in words}
print(data)
Вопрос 16 из 20
Какая операция отвечает на вопрос «есть ли хотя бы один общий элемент» для множеств a и b?
Вопрос 17 из 20
Что выведет defaultdict?
Python
from collections import defaultdict
groups = defaultdict(list)
for key, value in [("a", 1), ("b", 2), ("a", 3)]:
    groups[key].append(value)
print(dict(groups))
Вопрос 18 из 20
Цикл добавляет новый ключ в словарь во время обхода. Какое исправление устранит ошибку изменения размера?
Вопрос 19 из 20
Почему `frozenset` может быть ключом словаря, а обычный set — нет?
Вопрос 20 из 20
Какой результат у подсчёта частот?
Python
from collections import Counter
c = Counter("abracadabra")
print(c.most_common(2))

Ответьте на все 20 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу