الانتقال إلى المحتوى الرئيسي
الوحدة 4 · الدرس 2 من 414/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 ولكن قمت بتعيين step سالبًا لـ -1 (s[::-1])، فإنك تقوم بعكس السلسلة. يمثل الفهرس السالب -1 دائمًا الحرف الأخير من السلسلة، و-2 هو الحرف قبل الأخير، وما إلى ذلك.

جربه

تمرين#python.m4.l2.e1
المحاولات: 0جارٍ التحميل…

بالنظر إلى `word = 'PROGRAMMAZIONE''، احصل على عكسها في `reversed_word`. تقييم `الكلمة المعكوسة`.

جارٍ تحميل المحرر…
إظهار التلميح

كلمة[::-1]

الحل متاح بعد 3 من المحاولات

تمرين المراجعة

تمرين#python.m4.l2.e2
المحاولات: 0جارٍ التحميل…

بالنظر إلى `email = 'ada@example.com''، قم باستخراج النطاق (كل شيء بعد '@') إلى `domain' باستخدام التقطيع بعد العثور على الفهرس باستخدام .find. تقييم "المجال".

جارٍ تحميل المحرر…
إظهار التلميح

البريد الإلكتروني[email.find('@') + 1:]

الحل متاح بعد 3 من المحاولات

التحدي الإضافي

تمرين#python.m4.l2.e3
المحاولات: 0جارٍ التحميل…

بالنظر إلى السلسلة \`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 من المحاولات