from collections import OrderedDict

def group_ordered(list_in):
    result = OrderedDict()
for value in list_in:
    result.setdefault(value, []).append(value)
Группировать элементы списка по порядку появления в несортированном списке