from collections import defaultdict
groups = defaultdict(list)
for obj in old_list:
    groups[obj.some_attr].append(obj)
new_list = list(groups.values())
Как сгруппировать список кортежей/объектов по похожему индексу/атрибуту в python?