Выбор ответа Middle Стандартная библиотека обновлено

groupby требует сортировки

Вопрос

Нужно сгруппировать заказы по user_id через itertools.groupby. Что обязательно сделать?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Отсортировать заказы по тому же ключу userid. groupby объединяет только соседние элементы с равным ключом, поэтому без сортировки один пользователь окажется в нескольких группах.

Варианты ответа

  1. Превратить заказы в множество
  2. Передать sorted=True в groupby
  3. Отсортировать заказы по тому же ключу user_idправильный ответ
  4. Ничего, groupby сам найдёт все одинаковые ключи

Разбор

groupby объединяет только соседние элементы с равным ключом, поэтому без сортировки один пользователь окажется в нескольких группах. Параметра sorted нет. Если сортировать дорого или данные потоковые и неупорядоченные, проще defaultdict(list).

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.