मैं अंतिम वस्तु बनाने के लिए एक सूची में तत्वों का एक गुच्छा जोड़ना चाहता हूं, जिस तरह से ऑब्जेक्ट्स बनाने के समान है। मैं reduce
पर एक साधारण विविधता का उपयोग करने की कोशिश कर रहा हूं जहां आप ऐसा करने के लिए एक फ्लैट सूची के बजाय जोड़ों की एक सूची पर विचार करते हैं। मैं की तर्ज पर कुछ करना चाहता हूँ:पाइथन का उपयोग जोड़ों की सूची में कम
nums = [1, 2, 3]
reduce(lambda x, y: x + y, nums)
को छोड़कर मैं योग कि संख्या nums
की सूची में प्रत्येक तत्व के लिए विशिष्ट है के लिए अतिरिक्त जानकारी जोड़ना चाहते हैं। प्रत्येक जोड़ी (ए, बी) सूची में, के रूप में (ए + बी) योग चलाने के लिए उदाहरण के लिए:
nums = [(1, 0), (2, 5), (3, 10)]
reduce(lambda x, y: (x[0]+x[1]) + (y[0]+y[1]), nums)
यह काम नहीं करता:
>>> reduce(lambda x, y: (x[0]+x[1]) + (y[0]+y[1]), nums)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <lambda>
TypeError: 'int' object is unsubscriptable
क्यों यह काम नहीं करता? मुझे पता है कि मैं nums
को एक फ्लैट सूची के रूप में एन्कोड कर सकता हूं - यह बात नहीं है - मैं सिर्फ एक कम ऑपरेशन बनाने में सक्षम होना चाहता हूं जो जोड़ों की सूची में पुन: सक्रिय हो सकता है, या एक ही लंबाई की दो सूचियों पर एक साथ और पूल जानकारी से दोनों सूचियां धन्यवाद।
आप एक टपल होने के लिए कम करने का परिणाम चाहते हैं? –
क्या आपको कम उपयोग करना है? मैं सरल योग (x [0] + x [1] को x में x के लिए पसंद करता हूं) – cerealy