डेटा एनालिटिक्स जटिल परिदृश्यों को फेंकता है जहां डेटा को इधर-उधर ले जाने के लिए उलझने की आवश्यकता होती है। इस सन्दर्भ में देखते हैं कि कैसे हम एक बड़ी सूची लेकर आवश्यकता के अनुसार उसे अनेक उप-सूचियों में विभाजित कर सकते हैं। इस लेख में हम इसे प्राप्त करने के तरीकों का पता लगाएंगे।
ज़िप के साथ और लूप के लिए
इस दृष्टिकोण में हम उस बिंदु से तत्वों को प्राप्त करने के लिए सूची डाइसिंग का उपयोग करते हैं जिस पर विभाजन होना है। फिर हम लूप का उपयोग करके सबलिस्ट बनाने के लिए ज़िप और लूप के लिए उपयोग करते हैं।
उदाहरण
Alist = ['Mon', 'Tue', 'Wed', 6, 7, 'Thu', 'Fri', 11, 21, 4] # The indexes to split at split_points = [2, 5, 8] # Given list print("Given list : " + str(Alist)) # SPlit at print("The points of splitting : ",split_points) #Perform the split split_list = [Alist[i: j] for i, j in zip([0] + split_points, split_points + [None])] # printing result print("The split lists are : ", split_list)
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
Given list : ['Mon', 'Tue', 'Wed', 6, 7, 'Thu', 'Fri', 11, 21, 4] The points of splitting : [2, 5, 8] The split lists are : [['Mon', 'Tue'], ['Wed', 6, 7], ['Thu', 'Fri', 11], [21, 4]]
चेन और ज़िप का उपयोग करना
चेन फ़ंक्शन एक पुनरावर्तक बनाता है जो तत्वों को पहले पुनरावर्तनीय से समाप्त होने तक लौटाता है। तो यह उन बिंदुओं को चिह्नित करता है जहां विभाजन होता है। फिर हम उप-सूचियों में विभाजन के परिणाम को पैकेज करने के लिए ज़िप फ़ंक्शन का उपयोग करते हैं।
उदाहरण
from itertools import chain Alist = ['Mon', 'Tue', 'Wed', 6, 7, 'Thu', 'Fri', 11, 21, 4] # The indexes to split at split_points = [2, 5, 8] # Given list print("Given list : ", str(Alist)) # Split at print("The points of splitting : ",split_points) # to perform custom list split sublists = zip(chain([0], split_points), chain(split_points, [None])) split_list = list(Alist[i : j] for i, j in sublists) # printing result print("The split lists are : ", split_list)
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
Given list : ['Mon', 'Tue', 'Wed', 6, 7, 'Thu', 'Fri', 11, 21, 4] The points of splitting : [2, 5, 8] The split lists are : [['Mon', 'Tue'], ['Wed', 6, 7], ['Thu', 'Fri', 11], [21, 4]]