2015-10-28 14 views
8

उदाहरण के लिए:कैसे एक सूची में पाश उत्पादन के लिए एक कन्वर्ट करने के लिए (अजगर)

for y,x in zip(range(0,4,1),range(0,8,2)): 
    print(x+y) 

रिटर्न: कैसे कर सकते हैं

['0','3','6','9'] 

मैं:

0 
3 
6 
9 

क्या मैं चाहता हूँ है इस लक्ष्य को हासिल करें?

+1

'MyList = [(x + y) x के लिए, वाई ज़िप में (रेंज (0,4,1), सीमा (0,8,2))] ' – khelwood

+0

क्या आप विशेष रूप से तारों के रूप में जवाब चाहते हैं? यदि आप आगे अंकगणित (सॉर्टिंग समेत) करना चाहते हैं तो उन्हें संख्याओं के रूप में रखना सर्वोत्तम है (वे संख्यात्मक रूप में कम रैम का भी उपयोग करते हैं); आप उन्हें आउटपुट करते समय आसानी से तारों में परिवर्तित कर सकते हैं। –

उत्तर

10

आपके समझने के लिए सबसे आसान तरीका है, list comprehension का उपयोग किए बिना, है:

mylist = [] 
for y,x in zip(range(0,4,1),range(0,8,2)): 
    mylist.append(str(x+y)) 
print mylist 

आउटपुट:

['0','3','6','9'] 
+0

वर्ग नाम 'सूची' का उपयोग चर नाम के रूप में न करें। –

7

का उपयोग कर list comprehension

>>>[x+y for y,x in zip(range(0,4,1),range(0,8,2))] 
[0, 3, 6, 9] 
>>>[str(x+y) for y,x in zip(range(0,4,1),range(0,8,2))] 
['0', '3', '6', '9'] 
3

आप गतिशील सूची उत्पन्न कर सकते हैं इस प्रयास करें:

print [str(x+y) for x, y in zip(range(0,4,1), range(0,8,2))] 

['0','3','6','9'] 

इस तकनीक list comprehensions कहा जाता है।

1

आप छोरों के लिए छोड़ सकते हैं और map() का उपयोग करें और operator

से add आयात कर सकता है
from operator import add 
l = map(add,range(0,4,1),range(0,8,2)) 
print l 

[0, 3, 6, 9] 

और यदि आप इसे तारों के रूप में चाहते हैं तुम कर सकते हो

from operator import add 
l = map(add,range(0,4,1),range(0,8,2)) 
print map(str, l) 

['0','3', '6', '9'] 
संबंधित मुद्दे

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