Что произойдёт при выполнении кода t = (1, 2); t[0] = 9?
AИзменит первый элемент по индексу, и
t станет равен (9, 2).BСоздаст новый кортеж со значением
(9, 2), а исходный t останется (1, 2).CАвтоматически преобразует
t в список и присвоит 9 первому элементу.DПоднимет
TypeError, потому что элементы кортежа нельзя менять по индексу.Правильный ответ. Элементы
tuple нельзя менять по индексу: попытка присваивания приводит к TypeError.Разбор
Кортеж — неизменяемая коллекция, поэтому операция вида t[0] = ... запрещена. Интерпретатор сразу поднимает TypeError с сообщением о том, что объект не поддерживает присваивание по элементу. Если нужна изменяемость, используйте list. Если нужна фиксированная структура (например, пара значений), кортеж помогает избежать случайных изменений и может использоваться как ключ словаря.
Проверь себя · 1/3разбор после ответа
Дан список пар
pairs = [('views', 5), ('clicks', 6), ('purchases', 9)]. Что вернёт выражение {k: v for k, v in pairs}?Ещё вопросы по теме «Коллекции и структуры данных»
- Есть список событий `events = ["click"]`. Объект `events` используется в нескольких местах по ссылке, поэтому важно изменить именно тот же объект (не создавать новый). Нужно добавить элементы из `new_events = ["view", "purchase"]`, чтобы итог был плоским. Какой вариант корректен?
- Дан словарь `d = {"country": "RU"}`. Нужно прочитать значение по ключу `"city"`, а если ключа нет — вернуть строку `"unknown"` без исключения. Что подходит?
- В логах есть список `user_ids` с повторениями. Как получить количество уникальных пользователей?
- Дан список `nums = [10, 20, 30, 40]`. Чему равен результат выражения `nums[1:3]`?
- Есть словарь метрик `metrics = {"views": 100, "clicks": 5}`. Как корректно пройтись по парам ключ-значение в цикле `for`?
- Все вопросы по «Коллекции и структуры данных» →