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