【发布时间】:2026-02-08 14:50:01
【问题描述】:
我正在使用collections.Counter 对象。我想一一获取最常见的元素,但 most_common 方法为我提供了整个元素列表。
有什么办法可以将此列表作为生成器?
【问题讨论】:
-
如我的回答中所述,可以伪造它,但我不禁想知道您希望通过拥有这样的生成器获得什么,因为在
most_common()可以返回它必须处理的任何内容之前它的所有输入并存储中间结果——因此无论您是否安排将其零碎返回给您,都会创建整个列表。换句话说,我认为没有一种增量方式来进行处理。 -
你是对的。我在柜台上有很多元素,所以我试图避免创建一个包含所有元素的列表。
-
所以听起来你同意你想要的东西是不可能的。在我看来,只要求
n最常见的元素可能至少会减少所创建的内部列表的大小。
标签: python iterator generator counter