कैसे के बारे में:
allUuids = [x.id for x in self.db.query(schema.allPostsUuid).execute(timeout = 20)
if (x.type == "post" and x.deleted is not False)]
आम तौर पर, लंबी लाइनों चर में पूर्व कंप्यूटिंग subexpressions से बचा जा सकता है, जो एक मामूली प्रदर्शन लागत जोड़ सकते हैं:
query_ids = self.db.query(schema.allPostsUuid).execute(timeout = 20)
allUuids = [x.id for x in query_ids
if (x.type == "post" and x.deleted is not False)]
वैसे , 'is not False
' प्रकार की अनावश्यक नहीं है? क्या आप किसी और के बीच अंतर करने के बारे में चिंतित हैं? क्योंकि अन्यथा, यह केवल स्थिति को छोड़ने के लिए पर्याप्त है: i f (x.type == "post" and x.deleted)
स्रोत
2008-11-22 18:10:33
ये समकक्ष नहीं हैं - सूची समझ कई गुना तेज है, क्योंकि इसे किसी फ़ंक्शन लुकअप करने की आवश्यकता नहीं है। उचित अनुवाद लूप के लिए उपयोग करेगा। – Claudiu
प्रदर्शन हिट के अलावा, यह एक बहुत ही पठनीय उदाहरण है! – Geo
लूप फंक्शन लुकअप को कैसे रोकेंगे? यह भी ध्यान रखें कि सूची समझ में लूप सी में लागू किया गया है, और इसलिए सादे से तेज है। – orestis