2012-05-15 12 views
5

मैं निम्नलिखित कोड को अधिक संक्षेप में कैसे लिख सकता हूं?इस सूची का निर्माण करने के लिए पाइथोनिक और संक्षिप्त तरीका?

scores = [] 
    for f in glob.glob(path): 
     score = read_score(f, Normalize = True) 
     scores.append(score) 

मैं इस append का उपयोग किए बिना एक या दो पंक्तियों में लिखा जा सकता है पता है, लेकिन मैं एक अजगर नौसिखिया हूँ।

+4

'स्कोर = [read_score (च, मानक के अनुसार = सच) glob.glob में च (पथ) के लिए]' - यह एक सूची समझ है कि करता है बिल्कुल वही मॉडल। – birryree

+0

यह [सूची समझ] के लिए क्लासिक उपयोग परिदृश्य है (http://docs.python.org/tutorial/datastructures.html#list-comprehensions)। –

+0

त्वरित अनुवर्ती प्रश्न: क्या होगा यदि मैं उन फ़ाइलों की सूची को सॉर्ट करना चाहता हूं जो ग्लोब पुनरावृत्त हो जाते हैं? यह सीधे एक सूची नहीं लौटाता है लेकिन एक पुनरावर्तनीय है, इसलिए glob.glob (पथ) .sort() को कॉल करना एक त्रुटि देता है। क्या यह अभी भी एक पंक्ति में किया जा सकता है? – Frank

उत्तर

7

ओह, मैं समझ गया, जबकि एक related question ब्राउज़ कर:

scores = [read_score(f, normalize=True) for f in glob.glob(path)] 
+1

उपयोग: 'क्रमबद्ध (glob.glob (पथ)) ' – fraxel

संबंधित मुद्दे

 संबंधित मुद्दे