coolair
V2EX  ›  问与答

Python 的 itertools.groupby 如何获取分组数量,然后还可以继续迭代?

By coolair at 2023 年 7 月 5 日 · 935 次点击
groupers = itertools.groupby(data, key=itemgetter('name'))

print(len([*groupers ]))  # 这里已经迭代了


for k, g in itertools.groupby(data, key=groupers):
    # 这里迭代器已经缺了
    ...
3 条回复  •  2023-07-05 10:51:15 +08:00
iOCZ
   1
iOCZ  
   2023 年 7 月 5 日
list = [*groupers ]
然后去迭代 list
tf2
   2
tf2  
   2023 年 7 月 5 日
迭代器的初衷就是不知道还有多少 len 的情况下一条一条去处理。。

你这都知道 len 了。。。还迭代个啥?
coolair
   3
coolair  
OP
   2023 年 7 月 5 日
@iOCZ 这样不行,迭代 list 的时候,list(g) 就是空列表了。
© 2026 V2EX · 31ms · 3.9.8.5