دروس الوحدة (2/4)
التقطيع والفهرسة
في بايثون، السلاسل هي تسلسلات من الأحرف: يمكنك الوصول إليها
أحرف فردية حسب الفهرس واقتطاع سلاسل فرعية باستخدام الشريحة
بناء الجملة [start:stop:step] — تمامًا كما هو الحال مع القوائم.
المؤشرات الإيجابية والسلبية
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]
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
s = "Python"
s[::2] # 'Pto' salta uno sì uno no
s[1::2] # 'yhn' dispari
s[::-1] # 'nohtyP' INVERSIONE (idiom famoso)s[::-1] هي الطريقة الاصطلاحية لعكس السلسلة.
الطول والاحتواء
len("Python") # 6
"th" in "Python" # True
"java" in "Python" # Falseالمؤشرات السلبية وخطوة التقطيع
الصيغة الكاملة للتقطيع هي s[start:stop:step]. إذا حذفت start وstop ولكن قمت بتعيين step سالبًا لـ -1 (s[::-1])، فإنك تقوم بعكس السلسلة. يمثل الفهرس السالب -1 دائمًا الحرف الأخير من السلسلة، و-2 هو الحرف قبل الأخير، وما إلى ذلك.
جربه
بالنظر إلى `word = 'PROGRAMMAZIONE''، احصل على عكسها في `reversed_word`. تقييم `الكلمة المعكوسة`.
إظهار التلميح
كلمة[::-1]
الحل متاح بعد 3 من المحاولات
تمرين المراجعة
بالنظر إلى `email = 'ada@example.com''، قم باستخراج النطاق (كل شيء بعد '@') إلى `domain' باستخدام التقطيع بعد العثور على الفهرس باستخدام .find. تقييم "المجال".
إظهار التلميح
البريد الإلكتروني[email.find('@') + 1:]
الحل متاح بعد 3 من المحاولات
التحدي الإضافي
بالنظر إلى السلسلة \`word = "pythonista"\`، استخدم التقطيع لاستخراج أول 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 من المحاولات