2012-05-24 18 views
25

निम्नलिखित को वापस करने का सबसे कॉम्पैक्ट तरीका क्या है:पायथन - टुपल्स की पहली अनुक्रमणिका की सूची प्राप्त करें?

टुपल्स की एक सूची को देखते हुए, पहले सूची (या दूसरा, कोई फर्क नहीं पड़ता) तत्वों की एक सूची लौटाएं।

के लिए:

[(1,'one'),(2,'two'),(3,'three')] 

लौटे सूची हो

[1,2,3] 

उत्तर

36

उपयोग जिप अगर आप दोनों

>>> r=(1,'one'),(2,'two'),(3,'three') 
>>> zip(*r) 
[(1, 2, 3), ('one', 'two', 'three')] 
+0

क्या यह पायथन 3 में काम करता है? – bourbaki4481472

+2

@ bourbaki4481472 हाँ पायथन 3: सूची (ज़िप (* आर)) –

30
>>> tl = [(1,'one'),(2,'two'),(3,'three')] 
>>> [item[0] for item in tl] 
[1, 2, 3] 
10
>>> mylist = [(1,'one'),(2,'two'),(3,'three')] 
>>> [j for i,j in mylist] 
['one', 'two', 'three'] 
>>> [i for i,j in mylist] 
[1, 2, 3] 

यह एक list comprehension (have a look at this link) उपयोग कर रहा है होगा। तो यह mylist में तत्वों के माध्यम से, i और j को टुपल के दो तत्वों में सेट करता है, बदले में।

>>> newlist = [] 
>>> for i, j in mylist: 
...  newlist.append(i) 
... 
>>> newlist 
[1, 2, 3] 
+0

आप व्याख्या कर सकते हैं: इसे प्रभावी ढंग से करने के बराबर है? – user1413824

+0

यह एक [सूची समझ] है (http://docs.python.org/tutorial/datastructures.html#list-comprehensions) –

+0

@ user1413824 - मैंने इसे थोड़ा बेहतर समझाया है :) – fraxel

0

जरूरत है आप यह भी कोशिश कर सकते हैं ..

dict(my_list).keys() 
संबंधित मुद्दे