2010-07-14 79 views
5

我不需要itertools.groupby的懶惰。我只是想將我的列表分組爲列表字典,如:python是否有惰性版本的itertools.groupby?

dict([(a, list(b)) for a,b in itertools.groupby(mylist, mykeyfunc)]) 

是否有標準功能已經這樣做?

+0

懶惰是否受到任何傷害? – sth 2010-07-14 19:38:29

+0

原則上,非懶惰版本可能更有效 - 它可以一次完成整個羣組,避免懶惰開銷並很好地使用緩存。即便如此,如果它引起你任何真正的問題,我會感到驚訝。我的建議,從舊歌中被盜 - 「別擔心會快樂」。 – Steve314 2010-07-14 19:40:11

+0

在repl中測試懶惰代碼是一種痛苦。 – dvogel 2010-07-14 19:46:05

回答

4

不,不存在標準庫中包含的功能。

+1

+1這正好解決了這個問題 – 2010-07-14 20:20:31

-2

這聽起來像你有一個單行功能已經做到了你想要的。用它。

+1

我的問題不是「我該怎麼做?」我正試圖避免重新實現一個標準函數。 – dvogel 2010-07-14 20:10:49