我有这样的数据: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