2010-07-14 31 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