2012-11-26 8 views
7

मैं एक सूची है:मूल सूची को बदले बिना नई सूची बनाने

  L=[2,0,4,5] 

और मैं एल को परिवर्तित किए बिना एक नई सूची बनाने के लिए चाहते हैं:

 K= [0,2,4,5] 

लेकिन जब मैं कोशिश:

 K=L.sort() 
     print(K) 

यह कुछ भी नहीं प्रिंट, और अगर मैं कोशिश:

 print(L) 

इसे बाहर आता है: [0,2,4,5]

क्यों कश्मीर है नहीं = [0,2,4,5]? और मैं एक नई सूची कैसे बना सकता हूं [0,2,4,5] और एल नहीं बदल सकता? sorted(L)

+0

पहला आइटम 'अजगर सूची sort' यह बताता है के लिए रिटर्न गूगल। क्या आपने कोशिश की और खुद को समझ लिया? –

उत्तर

4

आप builtin समारोह sorted उपयोग करने के लिए की जरूरत है।

कारण K = L.sort() काम नहीं करता है कि sort() प्रकार जगह में सूची , और रिटर्न None। यही कारण है कि L संशोधित होने पर समाप्त होता है और KNone होने पर समाप्त होता है।

का तरीका यहां बताया sort() इस्तेमाल कर सकते हैं है:

K = L[:] # make a copy 
K.sort() 
13

निम्नलिखित L के अनुसार क्रमबद्ध प्रतिलिपि बनाने और K करने के लिए इसे प्रदान करेंगे:

K = sorted(L) 

sorted() अंतर्निहित समारोह है

+0

सूची की एक विधि को क्रमबद्ध किया गया है? – user1817310

+0

नहीं, यह एक बिल्टिन है। http://docs.python.org/2/library/functions.html#sorted – NPE

+0

@ user1817310 'sorted()' एक अंतर्निहित फ़ंक्शन है, विधियों को '.' नोटेशन, यानी' L.something() द्वारा दर्शाया गया है ' –

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