Indexing and Slicing in Python – Core Types Chapter के अन्तर्गत हमने String के Indexing व Slicing को काफी विस्तार से Discuss किया था, लेकिन फिर भी एक Revision के रूप में हम इसे थोड़ा सा Repeat कर रहे हैं, ताकि कुछ और नए String Concepts को आसानी से Clear किया जा सके।
हमने पहले भी बताया था कि Python में Strings, Characters का एक Ordered Collection होता है इसलिए हम इसके प्रत्येक Character को उसकी Position के आधार पर Access कर सकते हैं। Python में String के प्रत्येक Character की Position को एक Index Number के आधार पर Fetch किया जाता है और इस Index Position को Square Brackets के बीच Specify किया जाता है। ये प्रक्रिया Exactly C/C++ के String की तरह ही होता है, जहां String का सबसे पहला Character हमेंशा Index Number 0 पर Exist होता है और अन्तिम Character हमेंशा String की Length – 1 Position पर Exist होता है।
लेकिन इसके साथ ही Python हमें Negative Indexing के माध्यम से String को Right to Left Side में Traverse करने की सुविधा भी Provide करता है और क्योंकि वास्तव में कोई भी Character, Negative Index Number पर Exist नहीं होता इसलिए तकनीकी रूप से Positive Index Number प्राप्त करने के लिए Python, Negative Offset को String की Length में Add करता है।
उदाहरण के लिए यदि किसी String में 6 Characters Stored हैं, तो उस String की Length 6 होगी। इसलिए जब हम Negative Offset Specify करते हुए अन्तिम Character को Access करने के लिए Index Number [-1] लिखते हैं, तो वास्तव में हम [Length -1] लिख रहे होते हैं, जिसके परिणामस्वरूप Positive Index Number [5] Generate होता है और हमें Index Number [5] पर स्थित Character प्राप्त हो जाता है, जो कि हमारी Current String का अन्तिम Character होता है। इस तरीके को एक Simple चित्र द्वारा Represent करें, तो कुछ निम्नानुसार तरीके से कर सकते हैं-
Core Types Chapter के अन्तर्गत हमने String की Slicing को काफी बेहतर तरीके से समझने के लिए कई Examples Create किए थे और इस बात को समझा था कि किस तरह से Slicing का प्रयोग करते हुए हम एक String से अपनी जरूरत के अनुसार Substrings Retrieve कर सकते हैं। लेकिन Slicing करते समय हमने केवल दो Parameters की Use किए थे जबकि Python एक तीसरा Parameter भी Support करता है जिसका Default मान +1 होता है। इस तीसरे Parameter का प्रयोग करके हम Items की Skipping करने की सुविधा प्राप्त करते हैं।
ये तीसरा Parameter Step कहलाता है। कभी-कभी इसे Stride भी कहते हैं। ये तीसरा Parameter Slicing के कारण Extract होने वाले प्रत्येक Index Number में Add हो जाता है। इसलिए यदि हम किसी String str की Slicing करते हुए उसके 3 से 6 Index Number वाले Characters को Substring के रूप में Return करना चाहें, और तीसरे Parameter के रूप में 2 Specify कर दें, तो Left to Right Extract होने वाली Substring से हर दूसरा Character Skip हो जाता है जबकि तीसरे Parameter के रूप में -2 Specify कर दें, तो Right to Left Extract होने वाली Substring से हर दूसरा Character Reverse Direction में Skip हो जाता है।
[code] FileName: SlicingThirdParameter.py name = 'KRISHN KUMAR MISHRA' print("Extract Substring from Index Number 2 to 16:", name[2:16]) print("Extract Each Second Character in Substring:", name[2:16:2]) print("Extract Each Third Character in Substring:", name[::3]) print("Extract Each Third Character in Reverse Direction:", name[::-3]) Output Extract Substring from Index Number 2 to 16: ISHN KUMAR MIS Extract Each Second Character in Substring: IH UA I Extract Each Third Character in Substring: KS M SA Extract Each Third Character in Reverse Direction: AS M SK [/code]
इस Example में पहला Slicing Statement Self Explained है, जिसे हमने पहले भी Discuss किया है। दूसरा Statement Index Number 2 से 16 तक के Characters को Return कर रहा है लेकिन Return होने वाली Substring में से हर दूसरे Character को Return कर रहा है, पूरी Substring को नहीं।
तीसरा Statement Left-to-Right Direction में हर तीसरे Character को Return कर रहा है जबकि चौथा Statement Right-to-Left Direction में हर तीसरे Character को Return कर रहा है। इसी वजह से सबसे पहले Character के रूप में String MISHRA का Right Most Character ‘A’ Return हो रहा है, फिर अगले Character के रूप में String MISHRA का Right-to-Left Direction में Next Character ‘S‘ Return हो रहा है और यही Process अन्त तक चलता रहता है जिसके परिणामस्वरूप हमें उपरोक्त Output का अन्तिम Result प्राप्त होता है।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Python in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।
Python in Hindi | Page: 602 | Format: PDF