स्लाइसिंग Python में दी गई सूची से डेटा विश्लेषण के लिए एक बहुत ही सामान्य तकनीक है। लेकिन हमारे विश्लेषण के लिए कभी-कभी हमें मानों की एक विशिष्ट रेंज के लिए सूची के स्लाइस बनाने की आवश्यकता होती है। उदाहरण के लिए, हमें सूची से हर 4 तत्वों को छोड़कर 4 तत्व प्रिंट करने की आवश्यकता है। इस लेख में हम Python में रेंज स्लाइसिंग की इस अवधारणा को देखेंगे।
range() और len() का उपयोग करना
हम पूरी सूची की लंबाई से गुजरने के लिए एक for लूप बनाते हैं लेकिन केवल उन तत्वों को चुनते हैं जो विभाज्यता परीक्षण को संतुष्ट करते हैं। विभाज्यता परीक्षण में हम सूची में kवें तत्व के शेष मान की जांच करते हैं। यदि शेष रेंज मान से बड़ा या बराबर है, तो हम तत्व को स्वीकार करते हैं अन्यथा नहीं।
उदाहरण
range_slicing = [6, 9, 11, 15, 20, 24, 29, 36, 39, 43, 47, 52, 56, 70, 73, 79]
print("The given list: ", range_slicing)
# रेंज मान
s = 4
# range और len का उपयोग करके
result = [range_slicing[k] for k in range(len(range_slicing)) if k % (s * 2) >= s]
print("\nThe list after range slicing: ", result)
उपरोक्त कोड चलाने पर निम्न परिणाम मिलता है:
The given list: [6, 9, 11, 15, 20, 24, 29, 36, 39, 43, 47, 52, 56, 70, 73, 79] The list after range slicing: [20, 24, 29, 36, 56, 70, 73, 79]
Enumeration का उपयोग करना
हम पिछले दृष्टिकोण के समान तर्क लागू करते हैं लेकिन range() और len() के बजाय हम केवल enumerate() लागू करते हैं। कृपया ध्यान दें कि सूची में अंतिम तत्व परिणाम में दिखाई देता है क्योंकि यह विभाज्यता स्थिति को संतुष्ट करता है।
उदाहरण
range_slicing = [6, 9, 11, 15, 20, 24, 29, 36, 39, 43, 47, 52, 56, 70, 73, 79]
print("The given list: ", range_slicing)
# रेंज मान
s2 = 5
# Enumerate का उपयोग करके
result_2 = [val for m, val in enumerate(range_slicing) if m % (s2 * 2) >= s2]
print("\nThe list after range slicing: ", result_2)
उपरोक्त कोड चलाने पर निम्न परिणाम मिलता है:
The given list: [6, 9, 11, 15, 20, 24, 29, 36, 39, 43, 47, 52, 56, 70, 73, 79] The list after range slicing: [24, 29, 36, 39, 43, 79]