gpt4 book ai didi

python - itertools.groupby() 没有正确分组

转载 作者:太空狗 更新时间:2023-10-29 18:13:34 24 4
gpt4 key购买 nike

我有这个数据:

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(第 2)个位置有“1”。

最佳答案

itertools.groupby收集具有相同键的连续项。如果您希望所有项都具有相同的键,则必须先对 self.data 进行排序。

for mid, group in itertools.groupby(
sorted(self.data,key=operator.itemgetter(1)), key=operator.itemgetter(1)):

关于python - itertools.groupby() 没有正确分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8116666/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com