التقطيع (Slicing) يستخرج جزءاً من تسلسل (قائمة، tuple، string) باستخدام الصيغة sequence[start:stop:step]. إنها ميزة قوية وموجزة تُستخدم باستمرار في Python.
التقطيع الأساسي
nums = [, , , , , ]
nums[:]
nums[:]
nums[:]
nums[:]
القاعدة الرئيسية: start شامل (inclusive)، و stop حصري (exclusive) (nums[1:4] يعطي الفهارس 1، 2، 3 — وليس 4).
nums[-1] # 5 — last element
nums[-2] # 4 — second to last
nums[-3:] # [3, 4, 5] — last three elements
nums[:-1] # [0, 1, 2, 3, 4] — everything except the last
nums[::2] # [0, 2, 4] — every 2nd element
nums[1::2] # [1, 3, 5] — every 2nd, starting at index 1
nums[::-1] # [5, 4, 3, 2, 1, 0] — REVERSE the sequence (a famous idiom)
nums[::-1] عكس التسلسل هو أحد أكثر التعبيرات الموثوقة في Python.
s = "Hello"
s[1:4] # "ell"
s[::-1] # "olleH" — reverse a string
s[0] # "H"
nums = [0, 1, 2, 3, 4]
nums[1:3] = [10, 20, 30] # replace a slice (can change length)
# nums → [0, 10, 20, 30, 3, 4]
nums[10:20] # [] — out-of-range slices return empty, don't crash (unlike nums[10])
على عكس الوصول إلى فهرس واحد (الذي يرفع IndexError)، يعيد التقطيع بسلاسة ما هو متاح.
التقطيع هو ميزة في كل مكان وممتازة خاصة بـ Python لاستخراج ونسخ وعكس التسلسلات بنظافة.
فهم صيغة start:stop:step (خاصة البداية الشاملة والنهاية الحصرية)، والفهارس السالبة (العد من النهاية)، ومعرّف العكس ([::-1])، وأن التقطيع آمن (بدون تعطل عند خروج الفهرس عن الحد) يسمح لك بمعالجة القوائم والنصوص بشكل موجز وصحيح.
يحل محل الحلقات الطويلة للعمليات الشائعة ويظهر في جميع أنحاء كود Python الفعّال.