दिलचस्प पोस्ट
टुकड़ों के साथ नेविगेशन के ऊपर कार्रवाईबार mongodb: डालें अगर मौजूद नहीं है .NET में रेफ़ और आउट पैरामीटर में अंतर Angular2 + टाइपस्क्रिप्ट एप्लिकेशन में रद्दी का आयात करना कोणीय कैसे एकाधिक चेकबॉक्स मान प्राप्त करने के लिए? जब आप पोस्ट का उपयोग करते हैं और आप GET का उपयोग कब करते हैं? क्यों कहते हैं कि HTTP एक स्टेटलेस प्रोटोकॉल है? क्लीनअप PHP सत्र फ़ाइलें बेस 64 एन्कोडिंग छवि PHP के साथ बेस यूआरएल कैसे प्राप्त करें? मैं एमएस एक्सेस डाटाबेस से टेबल नाम कैसे प्राप्त करूं? सबसे तेज़ ऑप्शन एल्गोरिथ्म क्या है? std :: next_permutation कार्यान्वयन स्पष्टीकरण गहरी नल की जांच, क्या कोई बेहतर तरीका है? समानांतर पैकेज केवल उपयोग करने के मुकाबले धीमा क्यों है?

अनुक्रमणिका त्रुटि: सीमा से बाहर सूची असाइनमेंट सूची

कृपया निम्नलिखित कोड पर विचार करें:

i = [1, 2, 3, 5, 8, 13] j = [] k = 0 for l in i: j[k] = l k += 1 print j 

आउटपुट (Win 7 32-bit पर Python 2.6.6) है:

 > Traceback (most recent call last): > j[k] = l IndexError: list assignment index out of range 

मुझे लगता है कि यह कुछ सरल है जिसे मैं समझ नहीं पाया। क्या कोई इसे साफ़ कर सकता है?

वेब के समाधान से एकत्रित समाधान "अनुक्रमणिका त्रुटि: सीमा से बाहर सूची असाइनमेंट सूची"

j एक खाली सूची है, लेकिन आप पहले पुनरावृत्ति में तत्व [0] पर लिखने का प्रयास कर रहे हैं, जो अभी तक मौजूद नहीं है।

इसके बजाय निम्नलिखित की कोशिश करें, सूची के अंत में एक नया तत्व जोड़ने के लिए:

 for l in i: j.append(l) 

आपका दूसरा विकल्प j शुरू करना है:

 j = [None]*max(i) 

j[k] = l j.append(l) j[k] = l बजाय j[k] = l j.append(l) करो और k से बचें।

आपके द्वारा पोस्ट किए गए उदाहरण के लिए, आप सूची की समझ भी इस्तेमाल कर सकते हैं:

 j = [l for l in i] 

या बस एक प्रति बनाओ:

 j = i[:] 
 j.append(l) 

इसके अलावा लोअर-केस "एल" का उपयोग करने से बचें क्योंकि 1 के साथ उनके लिए भ्रमित होना आसान है

मुझे लगता है कि अजगर विधि डालें जो आप की तलाश में हैं;

स्थिति i पर स्थित तत्व x सम्मिलित करता है I

 array = [1,2,3,4,5] array.insert(1,2) print array # prints [2,2,3,4,5] 

एक और तरीका:

 j=i[0] for k in range(1,len(i)): j = numpy.vstack([j,i[k]]) 

इस मामले में j एक संकीर्ण सरणी होगा

आप j के लिए एक शब्दकोश (एक साहचर्य सरणी के समान) का उपयोग कर सकते हैं

 i = [1, 2, 3, 5, 8, 13] j = {} #initiate as dictionary k = 0 for l in i: j[k] = l k += 1 print j 

प्रिंट होगा:

 {0: 1, 1: 2, 2: 3, 3: 5, 4: 8, 5: 13}