У меня есть эти данные:
self.data = [(1, 1, 5.0),
(1, 2, 3.0),
(1, 3, 4.0),
(2, 1, 4.0),
(2, 2, 2.0)]
Когда я запускаю этот код:
for mid, group in itertools.groupby(self.data, key=operator.itemgetter(0)):
для list(group)
Я получаю:
[(1, 1, 5.0),
(1, 2, 3.0),
(1, 3, 4.0)]
что я и хочу.
Но если я использую 1 вместо 0
for mid, group in itertools.groupby(self.data, key=operator.itemgetter(1)):
для группировки по второму номеру в кортежах я получаю только:
[(1, 1, 5.0)]
даже при том, что есть другие кортежи, которые имеют «1» в этой 1 (второй) позиции