爲了分攤函數調用開銷,我改變了我的生成器,以便它產生一個固定長度的幾個值列表,而不是一次產生一個值。發電機,就像它最初站立的那樣,從一個包含幾個醃製物體的文件中取出一個物體,並取出它。然後在消耗發生器的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