我有這樣的數據:itertools.groupby()
self.data = list: [(1, 1, 5.0),
(1, 2, 3.0),
(1, 3, 4.0),
(2, 1, 4.0),
(2, 2, 2.0),
(2, 3, 4.0),
(2, 5, 3.0),
(3, 2, 2.0),
(3, 4, 4.0),
(3, 5, 3.0)]
當我運行這段代碼:
for mid, group in itertools.groupby(self.data, key=operator.itemgetter(0)):
爲list(group)
我得到:
list: [(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)):
到組由元組的第二個數字,我只得到:
list: [(1, 1, 5.0)]
即使是具有「1等的元組「在那1(2)的位置。
我以前在零位上排序。所以我只是在做groupby之前再次排序並且它工作正常。 self.data.sort(key = operator.itemgetter(1)) – user994165