Есть множество s = {"a", "b"}. Нужно удалить элемент "c", если он есть, и не получать ошибку, если его нет. Какой способ корректен?
A
s.remove("c"): удаляет элемент по значению или выбрасывает исключение при его отсутствииB
s.discard("c"): удаляет элемент по значению или ничего не делает при его отсутствииC
del s["c"]: удаление по ключу как у словаря, синтаксис применим к dict и listD
s.pop("c"): метод .pop() у множества аргументов не принимает и удаляет случайный элементПравильный ответ. У множества
.discard() удаляет элемент без ошибки, даже если элемента нет.Разбор
Метод .remove("c") выбросит исключение, если элемента нет в множестве. .discard("c") безопасен: удалит элемент при наличии и ничего не сделает при отсутствии. У множества нет индексации по ключу, поэтому del s["c"] не работает (это синтаксис для словаря или списка). .pop() у множества не принимает аргумент и удаляет произвольный элемент — попытка s.pop("c") приведёт к ошибке.
Проверь себя · 1/3разбор после ответа
Есть словарь
config = {'timeout': 10, 'retries': 3}. Что произойдёт при вызове config.pop('timeout', None)?Ещё вопросы по теме «Коллекции и структуры данных»
- Есть список событий `events = ["click"]`. Объект `events` используется в нескольких местах по ссылке, поэтому важно изменить именно тот же объект (не создавать новый). Нужно добавить элементы из `new_events = ["view", "purchase"]`, чтобы итог был плоским. Какой вариант корректен?
- Дан словарь `d = {"country": "RU"}`. Нужно прочитать значение по ключу `"city"`, а если ключа нет — вернуть строку `"unknown"` без исключения. Что подходит?
- В логах есть список `user_ids` с повторениями. Как получить количество уникальных пользователей?
- Что произойдёт при выполнении кода `t = (1, 2); t[0] = 9`?
- Дан список `nums = [10, 20, 30, 40]`. Чему равен результат выражения `nums[1:3]`?
- Все вопросы по «Коллекции и структуры данных» →