为了分摊函数调用开销,我改变了我的生成器,以便它产生一个固定长度的几个值列表,而不是一次产生一个值。发电机,就像它最初站立的那样,从一个包含几个腌制物体的文件中取出一个物体,并取出它。然后在消耗发生器的for循环中处理这些内容。这种方法比手动展开循环中的对象处理代码慢得多,该循环一次解除文件中多个连续的项目。我正在尝试妥协。我修改过的生成器一次产生一个固定长度的pickle对象列表。我正在寻找一种Pythonic的方式来在消费者方面解开未包装对象的数据包。如何在Python中使用捆绑/打包生成器?
有没有一种方法来解构这些数据包而没有额外的嵌套循环?我错误地假定*
运营商将做到这一点,像这样:
for x in *packetizing_generator(): f(x)
当然作品的嵌套循环,但我不知道是否有一个更短,更优雅的方式。
是的,但我想要'3'作为参数 – san 2011-04-01 20:52:02
因此,发电机需要给出一个屈服长度参数?你一定要能够写出你的发电机,使其始终产生特定数量的项目。 – 2011-04-01 20:57:51
是的。发生器被写入并完成。在消费者方面,我有一个嵌套循环。想知道是否有Pythonic解构这个数据包的方式 – san 2011-04-01 21:00:31