कई डेटा विश्लेषण गणनाओं में अजगर में दो सूचियों को गुणा करना एक आवश्यकता हो सकती है। इस लेख में हम देखेंगे कि सूचियों की सूची के तत्वों को दूसरी सूची के साथ नेस्टेड सूची भी कहा जाता है।
लूप्स का उपयोग करना
इस दृष्टिकोण में हम लूप के लिए टो डिज़ाइन करते हैं, एक दूसरे के अंदर। बाहरी लूप सूची में तत्वों की संख्या का ट्रैक रखता है और आंतरिक लूप नेस्टेड सूची के अंदर प्रत्येक तत्व का ट्रैक रखता है। हम दूसरी सूची के तत्वों को नेस्टेड सूची के संबंधित तत्वों से गुणा करने के लिए * ऑपरेटर का उपयोग करते हैं।
उदाहरण
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]]