这个问题纯粹是技术性的。默认情况下,[x for x in list if f()] 生成器将返回列表集中与 f() 条件匹配的所有元素。我需要按数量限制此输出,例如,输出元素不会超过 10 个。
问题是,据我了解,如果在 f() 中填写了一些有趣的公式,那么生成器将执行多次此操作,列表大小为 10,000,将执行 10,000 次操作,而对我来说他们完全不需要。
到目前为止,我只想到编写一个单独的函数来处理一个集合,但这是为每个生成器获得的(我有很多)——你必须编写自己的函数。
一般来说,问题再次是如何限制发电机的输出量。也许你可以以某种方式固定柜台?