Нужно хранить соответствие user_id → число покупок и обновлять счётчик при каждой покупке. Какая коллекция Python подходит лучше всего?
A
list: упорядоченная коллекция с доступом по позиции без удобной привязки к идентификаторуB
set: коллекция уникальных ключей без значений, не позволяет хранить счётчикC
dict: пары ключ → значение, где user_id выступает ключом, а значение — счётчикD
tuple: неизменяемая коллекция фиксированной длины без обновления значенийПравильный ответ.
dict хранит пары ключ → значение и подходит для словарей-счётчиков.Разбор
list и tuple ориентированы на доступ по позиции, а не по идентификатору, и не дают O(1)-доступ к произвольному пользователю. set хранит только ключи без значений, поэтому посчитать количество покупок в нём нельзя. Для задачи «по user_id хранить и обновлять число покупок» естественный выбор — dict, где ключом выступает user_id, а значением — счётчик.
Проверь себя · 1/3разбор после ответа
Дан словарь
d = {"country": "RU"}. Нужно прочитать значение по ключу "city", а если ключа нет — вернуть строку "unknown" без исключения. Что подходит?Ещё вопросы по теме «Коллекции и структуры данных»
- Есть список событий `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]`?
- Все вопросы по «Коллекции и структуры данных» →