कई डेटा विश्लेषण गणनाओं में अजगर में दो सूचियों को गुणा करना एक आवश्यकता हो सकती है। इस लेख में हम देखेंगे कि सूचियों की सूची के तत्वों को दूसरी सूची के साथ नेस्टेड सूची भी कहा जाता है।
लूप्स का उपयोग करना
इस दृष्टिकोण में हम लूप के लिए टो डिज़ाइन करते हैं, एक दूसरे के अंदर। बाहरी लूप सूची में तत्वों की संख्या का ट्रैक रखता है और आंतरिक लूप नेस्टेड सूची के अंदर प्रत्येक तत्व का ट्रैक रखता है। हम दूसरी सूची के तत्वों को नेस्टेड सूची के संबंधित तत्वों से गुणा करने के लिए * ऑपरेटर का उपयोग करते हैं।
उदाहरण
listA = [[2, 11, 5], [3, 2, 8], [11, 9, 8]] multipliers = [5, 11, 0] # Original list print("The given list: " ,listA) # Multiplier list print(" Multiplier list : " ,multipliers ) # using loops res = [[] for idx in range(len(listA))] for i in range(len(listA)): for j in range(len(multipliers)): res[i] += [multipliers[i] * listA[i][j]] #Result print("Result of multiplication : ",res)
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
The given list: [[2, 11, 5], [3, 2, 8], [11, 9, 8]] Multiplier list : [5, 11, 0] Result of multiplication : [[10, 55, 25], [33, 22, 88], [0, 0, 0]]
गणना के साथ
नेस्टेड सूची के प्रत्येक तत्व को लाने के लिए एन्यूमरेट विधि का उपयोग किया जा सकता है और फिर लूप के लिए गुणा करने के लिए उपयोग किया जा सकता है।
उदाहरण
listA = [[2, 11, 5], [3, 2, 8], [11, 9, 8]] multipliers = [5, 11, 0] # Original list print("The given list: " + str(listA)) # Multiplier list print(" Multiplier list : " ,multipliers ) # Using enumerate res = [[multipliers[i] * j for j in x] for i, x in enumerate(listA)] #Result print("Result of multiplication : ",res)
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
The given list: [[2, 11, 5], [3, 2, 8], [11, 9, 8]] Multiplier list : [5, 11, 0] Result of multiplication : [[10, 55, 25], [33, 22, 88], [0, 0, 0]]