У меня есть плоский список уникальных объектов, некоторые из которых могут совместно использовать данный атрибут с другими. Я хочу создать вложенный список списков с объектами, сгруппированными по данному атрибуту. В качестве минимального примера, учитывая следующий список:
>>> flat = ["Shoes", "pants", "shirt", "tie", "jacket", "hat"]
Мне может понадобиться группировать его по длине, например:
>>> nest_by_length(flat)
[['tie', 'hat'], ['shoes', 'pants', 'shirt'], ['jacket']]
Я видел пару похожих questions и рекомендации. Однако во всех этих случаях вложенность основывается на упорядочении входного списка. В моем случае упорядочение входного списка полностью непредсказуемо, равно как и количество подписок для вывода и количество элементов в каждом списке.
Существует ли стандартная функция или идиоматический способ выполнения этого?