2010-07-14 10 views
5

मुझे itertools.groupby की आलस्य की आवश्यकता नहीं है। मैं सिर्फ इस तरह के रूप सूचियों का एक dict में मेरी सूची में समूह हैं:क्या अजगर के itertools.groupby का एक आलसी संस्करण है?

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

एक मानक समारोह पहले से ही इस करता है कि है?

+0

क्या आलस्य किसी भी तरह से चोट पहुंचाती है? – sth

+0

सिद्धांत रूप में, एक गैर-आलसी संस्करण अधिक कुशल हो सकता है - यह पूरे समूह को एक बार में किया जाता है, आलसी ओवरहेड्स से परहेज करता है और कैश को अच्छी तरह से उपयोग करता है। फिर भी, मुझे आश्चर्य होगा अगर यह आपको कोई वास्तविक समस्याएं पैदा कर रहा है। मेरी सलाह, पुराने गीत से चोरी - "चिंता मत करो खुश रहो"। – Steve314

+0

प्रतिकृति में आलसी कोड का परीक्षण करने के लिए यह दर्द है। – dvogel

उत्तर

4

नहीं, ऐसा करने के लिए मानक लाइब्रेरी में कोई फ़ंक्शन शामिल नहीं है।

+1

+1 यह प्रश्न को ठीक से संबोधित करता है –

-2

ऐसा लगता है कि आपके पास पहले से ही एक लाइन फ़ंक्शन है जो आप चाहते हैं। इसका इस्तेमाल करें।

+1

मेरा सवाल नहीं है "मैं यह कैसे कर सकता हूं?" मैं एक मानक समारोह को पुन: कार्यान्वित करने से बचने की कोशिश कर रहा हूं। – dvogel