सूचियों को नेस्टेड किया जा सकता है। जिसका अर्थ है कि हमारे पास बड़ी सूची के अंदर तत्वों के रूप में छोटी सूचियाँ हैं। इस लेख में हम नेस्टेड सूची के तत्वों में एक साधारण सूची के तत्वों को जोड़ने की चुनौती का समाधान करते हैं। यदि सूचियों की लंबाई भिन्न होती है तो छोटी सूची की लंबाई परिणामी सूची की अधिकतम लंबाई बन जाती है।
इसे पूरा करने की विभिन्न विधियाँ नीचे दी गई हैं।
लूप के लिए उपयोग करना
इस पद्धति में, हम इस सूची के तत्वों के माध्यम से छोटी सूची और लूप की लंबाई लेते हैं और इसे बड़ी सूची के तत्वों में जोड़ते हैं। यहां हम प्रत्येक तत्व को परिणाम सूची में जोड़ने के लिए एपेंड फ़ंक्शन का उपयोग करते हैं।
उदाहरण
simple_list = [25, 35, 45, 55, 65] nested_list = [[5,10], [10], [5,15], [25], [5,10,15],[5,6]] result_list = [] for n in range(len(simple_list)): var = [] for m in nested_list[n]: var.append(m + simple_list[n]) result_list.append(var) print("The first list :", simple_list) print("The nested list :", nested_list) print("Result :",result_list)
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
The first list : [25, 35, 45, 55, 65] The nested list : [[5, 10], [10], [5, 15], [25], [5, 10, 15], [5, 6]] Result : [[30, 35], [45], [50, 60], [80], [70, 75, 80]]
गणना का उपयोग करना ()
एन्यूमरेट () फ़ंक्शन सूची या टपल जैसे संग्रह को लेता है और इसे एक एन्यूमरेट ऑब्जेक्ट के रूप में लौटाता है। इस दृष्टिकोण में हम पहले नेस्टेड सूची के प्रत्येक तत्व को प्राप्त करने के लिए एन्यूमरेट फ़ंक्शन वाले लूप के लिए बाहरी बनाते हैं और फिर उन्हें लूप के लिए आंतरिक के माध्यम से साधारण सूची में संबंधित तत्वों में जोड़ते हैं।
उदाहरण
simple_list = [25, 35, 45, 55, 65,25] nested_list = [[5,10], [10], [5,15], [25], [5,10,15]] result_list = [] # using enumerate result_list = [[val + simple_list[p] for val in q] for p, q in enumerate(nested_list)] print("The first list :", simple_list) print("The nested list :", nested_list) print("Result :",result_list)
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
The first list : [25, 35, 45, 55, 65, 25] The nested list : [[5, 10], [10], [5, 15], [25], [5, 10, 15]] Result : [[30, 35], [45], [50, 60], [80], [70, 75, 80]]
ज़िप का उपयोग करना()
इस दृष्टिकोण में हम उपरोक्त कार्यक्रम को दोहराते हैं लेकिन गणना के बजाय ज़िप () का उपयोग करते हैं। zip() दोनों सूचियों को अपने इनपुट के रूप में लेता है।
उदाहरण
simple_list = [25, 35, 45, 55, 65,25] nested_list = [[5,10], [10], [5,15], [25], [5,10,15]] result_list = [] result_list = [[w + u for w in v ]for u, v in zip(simple_list, nested_list)] print("The first list :", simple_list) print("The nested list :", nested_list) print("Result :",result_list)
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
The first list : [25, 35, 45, 55, 65, 25] The nested list : [[5, 10], [10], [5, 15], [25], [5, 10, 15]] Result : [[30, 35], [45], [50, 60], [80], [70, 75, 80]]