coolair
V2EX  ›  问与答

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

  •  
  •   coolair · Jul 5, 2023 · 733 views
    This topic created in 1076 days ago, the information mentioned may be changed or developed.
    groupers = itertools.groupby(data, key=itemgetter('name'))
    
    print(len([*groupers ]))  # 这里已经迭代了
    
    
    for k, g in itertools.groupby(data, key=groupers):
        # 这里迭代器已经缺了
        ...
    
    3 replies    2023-07-05 10:51:15 +08:00
    iOCZ
        1
    iOCZ  
       Jul 5, 2023
    list = [*groupers ]
    然后去迭代 list
    tf2
        2
    tf2  
       Jul 5, 2023
    迭代器的初衷就是不知道还有多少 len 的情况下一条一条去处理。。

    你这都知道 len 了。。。还迭代个啥?
    coolair
        3
    coolair  
    OP
       Jul 5, 2023
    @iOCZ 这样不行,迭代 list 的时候,list(g) 就是空列表了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3333 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 57ms · UTC 11:49 · PVG 19:49 · LAX 04:49 · JFK 07:49
    ♥ Do have faith in what you're doing.