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

2023-07-05 10:02:36 +08:00
 coolair
groupers = itertools.groupby(data, key=itemgetter('name'))

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


for k, g in itertools.groupby(data, key=groupers):
    # 这里迭代器已经缺了
    ...
345 次点击
所在节点    问与答
3 条回复
iOCZ
2023-07-05 10:26:16 +08:00
list = [*groupers ]
然后去迭代 list
lambdaq
2023-07-05 10:46:03 +08:00
迭代器的初衷就是不知道还有多少 len 的情况下一条一条去处理。。

你这都知道 len 了。。。还迭代个啥?
coolair
2023-07-05 10:51:15 +08:00
@iOCZ 这样不行,迭代 list 的时候,list(g) 就是空列表了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/954184

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX