2013-04-28 22 views
6

परिणामों की एक नई सूची प्राप्त करने के लिए मैं tuples की दो सूचियों से tuples कैसे जोड़ सकता हूं?+ tuples की दो सूचियों में मानों को कैसे करें

उदाहरण के लिए:

a = [(1,1),(2,2),(3,3)] 
b = [(1,1),(2,2),(3,3)] 

हम

c = [(2,2),(4,4),(6,6)] 

प्राप्त करना चाहते हैं मैं गूगल खोज की है और कई परिणाम नहीं मिला कैसे बस दो सूचियों को एक साथ ज़िप का उपयोग कर जोड़ने के लिए है, लेकिन दो सूचियों के बारे में कुछ भी नहीं मिला tuples के।

उत्तर

6

उपयोग zip दो बार और एक सूची समझ:

In [63]: a = [(1,1),(2,2),(3,3)] 

In [64]: b = [(1,1),(2,2),(3,3)] 

In [66]: [tuple(map(sum, zip(x, y))) for x, y in zip(a, b)] 
Out[66]: [(2, 2), (4, 4), (6, 6)] 
+4

यह अगर तुम नहीं जानते कि कितने तत्वों समय से आगे प्रत्येक टपल में हैं समस्या को हल करने का एक अच्छा तरीका है। +1 –

5
>>> a = [(1,1),(2,2),(3,3)] 
>>> b = [(1,1),(2,2),(3,3)] 
>>> [(i[0]+j[0], i[1]+j[1]) for i, j in zip(a,b)] 
[(2, 2), (4, 4), (6, 6)] 
संबंधित मुद्दे