दिलचस्प पोस्ट
एंड्रॉइड में मैं एक बिंदीदार / धराशायी रेखा कैसे बना सकता हूं? एमकेमैपदृश्य: एनोटेशन पिन के बजाय, कस्टम व्यू सी # में बिटमैप्स के साथ फास्ट काम स्विंग में मैं छवि को कैसे फीका कर सकता हूं? सरणी 1 को सरणी 2 में बदलने के लिए न्यूनतम स्वैप की आवश्यकता है? क्या है यदि __name__ == "__main__": क्या करें? ग्लोबल्स (), स्थानीय (), और वार्स () में अंतर क्या है? एक बाहरी वेबपेज को HTML पेज पर एक div में कैसे लोड किया जाता है मैं सी # में XML कैसे बना सकता हूं? जब एक खोल चर के आसपास कोट लपेटें? कैसे एक नया सरणी बनाने के बिना, एक और सरणी के साथ एक मौजूदा जावास्क्रिप्ट सरणी का विस्तार करने के लिए? नई स्व बनाम नई स्थिर दृश्य अंतर कार्यक्रम के साथ मैं 'git diff' आउटपुट को कैसे देखूं? गतिशील रूप से बनाए गए तत्वों पर ईवेंट श्रोता जोड़ें हम जावा रेगेक्स के साथ ^ nb ^ n कैसे मेल कर सकते हैं?

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

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

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}