V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
coolair
V2EX  ›  问与答

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

  •  
  •   coolair · 2023-07-05 10:02:36 +08:00 · 357 次点击
    这是一个创建于 526 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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-07-05 10:26:16 +08:00
    list = [*groupers ]
    然后去迭代 list
    lambdaq
        2
    lambdaq  
       2023-07-05 10:46:03 +08:00
    迭代器的初衷就是不知道还有多少 len 的情况下一条一条去处理。。

    你这都知道 len 了。。。还迭代个啥?
    coolair
        3
    coolair  
    OP
       2023-07-05 10:51:15 +08:00
    @iOCZ 这样不行,迭代 list 的时候,list(g) 就是空列表了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3416 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:54 · PVG 08:54 · LAX 16:54 · JFK 19:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.