2011-09-05 14 views
26

से tuples के सूची बनाने के मैं दो सूचियों है:अजगर: सूचियों

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

और इस प्रकार मैं, इन सूचियों से tuples की एक सूची बनाने की जरूरत:

z = [('1','a'), ('2','b'), ('3','c')] 

इसे करने में मुझे की कोशिश की इस तरह:

z = [ (a,b) for a in x for b in y ] 

लेकिन परिणामस्वरूप में:

[('1', '1'), ('1', '2'), ('1', '3'), ('2', '1'), ('2', '2'), ('2', '3'), ('3', '1'), ('3', '2'), ('3', '3')] 

यानी वाई में प्रत्येक तत्व के साथ एक्स में प्रत्येक तत्व के tuples की एक सूची ... मैं क्या करना चाहता था करने के लिए सही दृष्टिकोण क्या है? धन्यवाद ...

संपादित करें: अन्य दो संपादित पहले उल्लेख किया है डुप्लिकेट, मेरी गलती है किसी अन्य के लिए लूप गलती से में यह इंडेंट ...

+3

यह सवाल पहले से ही कहा गया है: http://stackoverflow.com/questions/2407398/python-merge-items-of-two-lists-into- ए-लिस्ट-ऑफ-टुपल्स – mwan

+0

मी कल्पा, खोज में नहीं मिला, धन्यवाद :) – amyassin

उत्तर

10

आप zip builtin फ़ंक्शन ढूंढ रहे हैं। दस्तावेज़ों से:

>>> x = [1, 2, 3] 
>>> y = [4, 5, 6] 
>>> zipped = zip(x, y) 
>>> zipped 
[(1, 4), (2, 5), (3, 6)] 
संबंधित मुद्दे