У меня есть эти данные:
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)):
для список (группа)
, я получаю:
[(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 (второй) позиции.