Wo liegt hier der Vorteil von `groupby` gegenüber `sorted`, das ich ja sowieso anwenden muss:
Code: Alles auswählen
In [46]: objects
Out[46]:
[Bundle(section=0, name='section_0'),
Bundle(section=1, name='section_1'),
Bundle(section=2, name='section_2'),
Bundle(section=0, name='section_0'),
Bundle(section=1, name='section_1'),
Bundle(section=2, name='section_2')]
In [47]: [list(g) for k, g in groupby(sorted(objects, key=lambda obj: obj.section), key=lambda obj: obj.section)]
Out[47]:
[[Bundle(section=0, name='section_0'), Bundle(section=0, name='section_0')],
[Bundle(section=1, name='section_1'), Bundle(section=1, name='section_1')],
[Bundle(section=2, name='section_2'), Bundle(section=2, name='section_2')]]
In [48]: sorted(objects, key=lambda obj: obj.section)
Out[48]:
[Bundle(section=0, name='section_0'),
Bundle(section=0, name='section_0'),
Bundle(section=1, name='section_1'),
Bundle(section=1, name='section_1'),
Bundle(section=2, name='section_2'),
Bundle(section=2, name='section_2')]