दिलचस्प पोस्ट
आप टॉगल बटन कैसे बनाते हैं? स्मृति में स्वरूपित बहु-आयामी arrays कैसे हैं? क्वेरी पैरामीटर की लंबी सूची के साथ डिज़ाईन शोकहारा क्वेरी एपीआई WPF में स्टैटिक रिसोर्स और डायनेमिक रिसोर्स के बीच अंतर क्या है? शब्दों को जावास्क्रिप्ट नंबर Z80 एएसएम BNF संरचना … क्या मैं सही रास्ते पर हूं? Linq में बैच बनाएं उपयोगकर्ता को सक्रिय डायरेक्ट्री ग्रुप में एनएटी में जोड़ना और निकालना सी / सी ++ परियोजनाओं के लिए मेवेन का उपयोग करना यह चल रहा है, जबकि SetInterval के अंतराल को बदलने 2 डी गेम: प्रक्षेप्य और इकाई के चौराहे की भविष्यवाणी करके चलती लक्ष्य पर आग PHP में उपयोगी त्रुटि संदेश कैसे प्राप्त करें? स्टैक अनलाइनिंग क्या है? कैसे पता कि रिसीवर एंड्रॉइड में पंजीकृत है? जावा ईई 6 @ javax.annotation.ManagedBean बनाम @ javax.inject.Named बनाम @ javax.faces.ManagedBean

नई सूची में दो लिस्ट के मूल्यों का SUM जोड़ें

मेरे पास निम्न दो सूचियां हैं:

first = [1,2,3,4,5] second = [6,7,8,9,10] 

अब मैं एक नई सूची में दोनों सूचियों के आइटम जोड़ना चाहता हूं।

आउटपुट होना चाहिए

 three = [7,9,11,13,15] 

Solutions Collecting From Web of "नई सूची में दो लिस्ट के मूल्यों का SUM जोड़ें"

zip फ़ंक्शन यहां उपयोगी है, जिसका इस्तेमाल सूची की समझ के साथ किया जाता है।

 [x + y for x, y in zip(first, second)] 

यदि आपके पास सूचियों की सूची है (केवल दो सूचियों के बजाय):

 lists_of_lists = [[1, 2, 3], [4, 5, 6]] [sum(x) for x in zip(*lists_of_lists)] # -> [5, 7, 9] 

डॉक्स से

 import operator map(operator.add, first,second) 

दोनों की सूची b और b को समान लंबाई मानते हुए, आपको ज़िप, numpy या कुछ और की आवश्यकता नहीं है।

 [a[i]+b[i] for i in xrange(len(a))] 

यह स्वयं किसी भी सूची में फैली हुई है:

 [sum(sublist) for sublist in itertools.izip(*myListOfLists)] 

आपके मामले में, myListOfLists होगा [first, second]

Numpy में डिफ़ॉल्ट व्यवहार जोड़ घटकwise है

 import numpy as np np.add(first, second) 

जो आउटपुट करता है

 array([7,9,11,13,15]) 

ऐसा करने का आसान तरीका और तेज़ तरीका है:

 three = [sum(i) for i in zip(first,second)] # [7,9,11,13,15] 

वैकल्पिक रूप से, आप numpy योग का उपयोग कर सकते हैं:

 from numpy import sum three = sum([first,second], axis=0) # array([7,9,11,13,15]) 

निम्न कोड आज़माएं:

 first = [1, 2, 3, 4] second = [2, 3, 4, 5] third = map(sum, zip(first, second)) 
 first = [1, 2, 3, 4, 5] second = [6, 7, 8, 9, 10] three = map(lambda x,y: x+y,first,second) print three Output [7, 9, 11, 13, 15] 

यह करने के लिए यहां एक और तरीका है। हम अजगर के आंतरिक __add__ फ़ंक्शन का उपयोग करते हैं:

 class SumList(object): def __init__(self, this_list): self.mylist = this_list def __add__(self, other): new_list = [] zipped_list = zip(self.mylist, other.mylist) for item in zipped_list: new_list.append(item[0] + item[1]) return SumList(new_list) def __repr__(self): return str(self.mylist) list1 = SumList([1,2,3,4,5]) list2 = SumList([10,20,30,40,50]) sum_list1_list2 = list1 + list2 print(sum_list1_list2) 

उत्पादन

 [11, 22, 33, 44, 55] 

आप zip() उपयोग कर सकते हैं, जो दो सरणियों को एक साथ "छिद्रण" करेगा, और फिर map() , जो प्रत्येक तत्व के लिए एक प्रकार्य पर लागू होगा Iterable:

 >>> a = [1,2,3,4,5] >>> b = [6,7,8,9,10] >>> zip(a, b) [(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)] >>> map(lambda x: x[0] + x[1], zip(a, b)) [7, 9, 11, 13, 15] 

मेरा जवाब तिरू के साथ दोहराया गया है, जिसने इसे 17 मार्च को 9:25 पर उत्तर दिया था।

यह सरल और तेज़ था, यहां उनके समाधान दिए गए हैं:

ऐसा करने का आसान तरीका और तेज़ तरीका है:

  three = [sum(i) for i in zip(first,second)] # [7,9,11,13,15] 

वैकल्पिक रूप से, आप numpy योग का उपयोग कर सकते हैं:

  from numpy import sum three = sum([first,second], axis=0) # array([7,9,11,13,15]) 

आपको numpy की आवश्यकता है!

अंडाकार सरणी वैक्टर की तरह कुछ ऑपरेशन कर सकता है

 import numpy as np a = [1,2,3,4,5] b = [6,7,8,9,10] c = list(np.array(a) + np.array(b)) print c # [7, 9, 11, 13, 15] 

यदि आप सूचियों में बाकी मान भी जोड़ना चाहते हैं तो आप इसका उपयोग कर सकते हैं (यह पायथन 3.5 में काम कर रहा है)

 def addVectors(v1, v2): sum = [x + y for x, y in zip(v1, v2)] if not len(v1) >= len(v2): sum += v2[len(v1):] else: sum += v1[len(v2):] return sum #for testing if __name__=='__main__': a = [1, 2] b = [1, 2, 3, 4] print(a) print(b) print(addVectors(a,b)) 
  first = [1,2,3,4,5] second = [6,7,8,9,10] #one way third = [x + y for x, y in zip(first, second)] print("third" , third) #otherway fourth = [] for i,j in zip(first,second): global fourth fourth.append(i + j) print("fourth" , fourth ) #third [7, 9, 11, 13, 15] #fourth [7, 9, 11, 13, 15] 

यह करने का एक और तरीका है। यह मेरे लिए ठीक काम कर रहा है

 N=int(input()) num1 = list(map(int, input().split())) num2 = list(map(int, input().split())) sum=[] for i in range(0,N): sum.append(num1[i]+num2[i]) for element in sum: print(element, end=" ") print("") 

आप इस विधि का उपयोग कर सकते हैं लेकिन यह केवल तभी काम करेगा जब दोनों सूची समान आकार के हैं:

 first = [1, 2, 3, 4, 5] second = [6, 7, 8, 9, 10] third = [] a = len(first) b = int(0) while True: x = first[b] y = second[b] ans = x + y third.append(ans) b = b + 1 if b == a: break print third