Нужно хранить соответствие user_id → число покупок и обновлять счётчик при каждой покупке. Какая коллекция Python подходит лучше всего?

Alist: упорядоченная коллекция с доступом по позиции без удобной привязки к идентификатору
Bset: коллекция уникальных ключей без значений, не позволяет хранить счётчик
Cdict: пары ключ → значение, где user_id выступает ключом, а значение — счётчик
Dtuple: неизменяемая коллекция фиксированной длины без обновления значений
Правильный ответ. dict хранит пары ключ → значение и подходит для словарей-счётчиков.

Разбор

list и tuple ориентированы на доступ по позиции, а не по идентификатору, и не дают O(1)-доступ к произвольному пользователю. set хранит только ключи без значений, поэтому посчитать количество покупок в нём нельзя. Для задачи «по user_id хранить и обновлять число покупок» естественный выбор — dict, где ключом выступает user_id, а значением — счётчик.

Проверь себя · 1/3разбор после ответа
Дан словарь d = {"country": "RU"}. Нужно прочитать значение по ключу "city", а если ключа нет — вернуть строку "unknown" без исключения. Что подходит?
Тренировать Python в Telegram

Ещё вопросы по теме «Коллекции и структуры данных»