मुख्य सामग्री पर जाएं
मॉड्यूल 4 · पाठ 2 का 4पाठ्यक्रम में 14/36~10 min
मॉड्यूल पाठ (2/4)

स्लाइसिंग और अनुक्रमणिका

पायथन में, स्ट्रिंग्स वर्णों के अनुक्रम हैं: आप एक्सेस कर सकते हैं अनुक्रमणिका के आधार पर अलग-अलग वर्ण बनाएं और स्लाइस के साथ सबस्ट्रिंग बनाएं सिंटैक्स [start:stop:step] - बिल्कुल सूचियों के समान।

सकारात्मक और नकारात्मक सूचकांक

Python
s = "Python"
#    0123456
#   -6-5-4-3-2-1
s[0]    # 'P'
s[5]    # 'n'
s[-1]   # 'n'   (ultimo)
s[-2]   # 'o'   (penultimo)

सीमा से बाहर पहुंच IndexError बढ़ाती है।

स्लाइसिंग [start:stop:step]

Python
s = "Python"
s[0:3]    # 'Pyt'      indici 0,1,2 (stop ESCLUSO)
s[2:]     # 'thon'     dal 2 alla fine
s[:3]     # 'Pyt'      dall'inizio fino al 3 (escluso)
s[:]      # 'Python'   copia completa
s[-3:]    # 'hon'      ultimi 3
s[:-2]    # 'Pyth'     tutto tranne gli ultimi 2

अनुक्रमण के विपरीत, यदि सूचकांक बाहर हैं तो स्लाइसिंग से त्रुटियां नहीं होती रेंज का: यह जो कर सकता है, उसे बाहर निकालता है।

तीसरा तर्क: step

Python
s = "Python"
s[::2]    # 'Pto'    salta uno sì uno no
s[1::2]   # 'yhn'    dispari
s[::-1]   # 'nohtyP' INVERSIONE (idiom famoso)

s[::-1] किसी स्ट्रिंग को उलटने का मुहावरेदार तरीका है।

लंबाई और रोकथाम

Python
len("Python")        # 6
"th" in "Python"     # True
"java" in "Python"   # False

नकारात्मक सूचकांक और टुकड़ा करने की क्रिया में कदम

स्लाइसिंग का पूरा सिंटैक्स s[start:stop:step] है। यदि आप start और stop को छोड़ देते हैं, लेकिन -1 (s[::-1]) में से एक नकारात्मक step सेट करते हैं, तो आप स्ट्रिंग को उलट देते हैं। नकारात्मक सूचकांक -1 हमेशा स्ट्रिंग के अंतिम वर्ण का प्रतिनिधित्व करता है, -2 दूसरे से अंतिम वर्ण का प्रतिनिधित्व करता है, आदि।

इसे अजमाएं

व्यायाम#python.m4.l2.e1
प्रयास: 0लोड हो रहा है...

`word = 'PROGRAMMAZIONE'` दिया गया है, `reversed_word` में इसका उल्टा प्राप्त करें। `उलट_शब्द` का मूल्यांकन करें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

शब्द[::-1]

3 प्रयासों के बाद समाधान उपलब्ध है

व्यायाम की समीक्षा करें

व्यायाम#python.m4.l2.e2
प्रयास: 0लोड हो रहा है...

`ईमेल = 'ada@example.com'` दिया गया है, .find के साथ इंडेक्स ढूंढने के बाद स्लाइसिंग का उपयोग करके डोमेन ('@' के बाद सब कुछ) को `डोमेन` में निकालें। `डोमेन` का मूल्यांकन करें.

संपादक लोड हो रहा है...
संकेत दिखाएँ

ईमेल[email.find('@') + 1:]

3 प्रयासों के बाद समाधान उपलब्ध है

अतिरिक्त चुनौती

व्यायाम#python.m4.l2.e3
प्रयास: 0लोड हो रहा है...

स्ट्रिंग \`शब्द = "पाइथोनिस्टा"\` को देखते हुए, पहले 3 अक्षर और अंतिम 3 अक्षर निकालने के लिए स्लाइसिंग का उपयोग करें, और उन्हें एक नई स्ट्रिंग \`short_word\` में संयोजित करें। अंत में, \`short_word\` का मूल्यांकन करें (इससे \`'pytsta'\` प्राप्त होना चाहिए)।

संपादक लोड हो रहा है...
संकेत दिखाएँ

The first 3 characters are word[:3], the last 3 are word[-3:]. Concatenate the two slices.

3 प्रयासों के बाद समाधान उपलब्ध है