दिलचस्प पोस्ट
एंड्रॉइड यूट्यूब ऐप प्ले वीडियो इन्टेंट अग्निबंद के साथ बाल मूल्य के आधार पर मैं अवरोही क्रम में कैसे पगनेट कर सकता हूं? क्लासपाथ डायरेक्टरी से संसाधनों की सूची प्राप्त करें कीबोर्ड फोकस को <div> पर सेट करें वेब एप्लिकेशन में उपयोगकर्ता गतिविधि को लॉगिंग करना पार्सिंग FtpWebRequest सूचीडिरेरीडिज़ लाइन क्या "एक मध्यवर्ती परिणाम कैश किया जा रहा है" मतलब है? jQuery परिवर्तन इनपुट प्रकार लॉककैट में लंबे संदेश प्रदर्शित करने के तरीके मेरे वाईफाई आईपी पता एंड्रॉइड प्राप्त करें एएससीआईआई को यूटीएफ -8 एन्कोडिंग में कनवर्ट करें जावा धारावाहिककरण – java.io.InvalidClassException स्थानीय कक्षा असंगत आर पैकेज का पुराना संस्करण इंस्टॉल करना UIButton दबाए जाने के बाद UIDatePicker पॉप अप हो जाता है पोस्टग्रेएसक्यूएल: एक प्रश्न के लिए पंक्तियों की गणना 'मिनट से'

अजगर में प्रत्येक क्यूबिस्ट के पहले आइटम को निकालें

मैं सोच रहा हूं कि सूचियों की सूची में प्रत्येक उपलिखित के पहले आइटम को निकालने का सबसे अच्छा तरीका है और इसे एक नई सूची में जोड़ना है। इसलिए यदि मेरे पास है:

lst = [[a,b,c], [1,2,3], [x,y,z]] 

और मैं एक, 1 और एक्स को खींचना चाहता हूं और उनसे अलग सूची बनाना चाहता हूं

मैंने कोशिश की:

 lst2.append(x[0] for x in lst) 

Solutions Collecting From Web of "अजगर में प्रत्येक क्यूबिस्ट के पहले आइटम को निकालें"

सूची समझ का उपयोग करना:

 >>> lst = [['a','b','c'], [1,2,3], ['x','y','z']] >>> lst2 = [item[0] for item in lst] >>> lst2 ['a', 1, 'x'] 

आप ज़िप का उपयोग कर सकते हैं:

 >>> lst=[[1,2,3],[11,12,13],[21,22,23]] >>> zip(*lst)[0] (1, 11, 21) 

या, (मेरी पसंदीदा) numpy का उपयोग करें:

 >>> import numpy as np >>> a=np.array([[1,2,3],[11,12,13],[21,22,23]]) >>> a array([[ 1, 2, 3], [11, 12, 13], [21, 22, 23]]) >>> a[:,0] array([ 1, 11, 21]) 

पायथन में एक विशेष सूची में आइटम को एक सूची में लौटने के लिए आइटमगेटर नामक फ़ंक्शन शामिल होता है:

 from operator import itemgetter 

वस्तु को निकालें () उस वस्तु का सूचकांक जिसे आप प्राप्त करना चाहते हैं। पहली वस्तु को पुनः प्राप्त करने के लिए, आप आइटम मिलेगा (0)। समझने के लिए महत्वपूर्ण बात यह है कि मदस्टेटर (0) खुद फ़ंक्शन देता है यदि आप उस समारोह में एक सूची पास करते हैं, तो आप विशिष्ट आइटम प्राप्त करते हैं:

 itemgetter(0)([10, 20, 30]) # Returns 10 

यह उपयोगी है जब आप इसे नक्शा () के साथ जोड़ते हैं, जो कि पहली तर्क के रूप में एक फ़ंक्शन लेता है, और दूसरी तर्क के रूप में एक सूची (या किसी अन्य आवेशपूर्ण) यह प्रत्येक ऑब्जेक्ट को पुनरावृत्त में फ़ंक्शन बुला जाने का परिणाम देता है:

 my_list = [['a', 'b', 'c'], [1, 2, 3], ['x', 'y', 'z']] list(map(itemgetter(0), my_list)) # Returns ['a', 1, 'x'] 

ध्यान दें कि नक्शा () जनरेटर देता है, इसलिए परिणाम वास्तविक सूची प्राप्त करने के लिए सूची () को पारित किया जाता है। संक्षेप में, आपका काम इस तरह किया जा सकता है:

 lst2.append(list(map(itemgetter(0), lst))) 

यह सूची की समझ का उपयोग करने के लिए एक वैकल्पिक विधि है, और जो चुनने के लिए अत्यधिक विकल्प संदर्भ, पठनीयता और प्राथमिकता पर निर्भर करता है।

अधिक जानकारी: https://docs.python.org/3/library/operator.html#operator.itemgetter

आपका कोड लगभग सही है एकमात्र मुद्दा सूची की समझ का उपयोग है।

यदि आप इस तरह प्रयोग करते हैं: (एक्स में एक्स के लिए [0], यह एक जनरेटर ऑब्जेक्ट देता है यदि आप इस तरह प्रयोग करते हैं: [x [l] में एक्स के लिए [0], यह एक सूची वापस करता है

जब आप एक सूची में सूची समझ उत्पादन जोड़ते हैं, सूची की सूची का उत्पादन सूची का एक तत्व है।

 lst = [["a","b","c"], [1,2,3], ["x","y","z"]] lst2 = [] lst2.append([x[0] for x in lst]) print lst2[0] 

lst2 = [['a', 1, 'x']]

lst2 [0] = ['a', 1, 'x']

कृपया मुझे बताएं कि क्या मैं गलत हूं।

 lst = [['a','b','c'], [1,2,3], ['x','y','z']] outputlist = [] for values in lst: outputlist.append(values[0]) print(outputlist) 

आउटपुट: ['a', 1, 'x']

आपने कहा है कि आपके पास एक मौजूदा सूची है तो मैं इसके साथ जाऊँगा

 >>> lst1 = [['a','b','c'], [1,2,3], ['x','y','z']] >>> lst2 = [1, 2, 3] 

अभी आप जनरेटर ऑब्जेक्ट को अपनी दूसरी सूची में जोड़ रहे हैं।

 >>> lst2.append(item[0] for item in lst) >>> lst2 [1, 2, 3, <generator object <genexpr> at 0xb74b3554>] 

लेकिन आप शायद पहली वस्तुओं की सूची बनना चाहते हैं

 >>> lst2.append([item[0] for item in lst]) >>> lst2 [1, 2, 3, ['a', 1, 'x']] 

अब हम मौजूदा सूची में पहली वस्तुओं की सूची संलग्न कर चुके हैं। यदि आप आइटम को विषय में जोड़ना चाहते हैं, तो उन की सूची नहीं, मौजूदा लोगों के लिए, आप सूची का उपयोग करेंगे। विस्तार उस मामले में हमें जनरेटर को जोड़ने के बारे में चिंता करने की ज़रूरत नहीं है, क्योंकि विस्तार उस जनरेटर का उपयोग उस प्रत्येक वस्तु को जोड़ने के लिए करेगा, जो मौजूदा सूची को बढ़ा सके।

 >>> lst2.extend(item[0] for item in lst) >>> lst2 [1, 2, 3, 'a', 1, 'x'] 

या

 >>> lst2 + [x[0] for x in lst] [1, 2, 3, 'a', 1, 'x'] >>> lst2 [1, 2, 3] 

https://docs.python.org/3.4/tutorial/datastructures.html#more-on-lists https://docs.python.org/3.4/tutorial/datastructures.html#list-comprehensions

बहुत ज्यादा सोच के बिना:

 lst = [['a','b','c'], [1,2,3], ['x','y','z']] lst2 = item[0]