كيف تعمل تقنية التجزئة (slicing) في بايثون؟

كيف تعمل تقنية التجزئة (slicing) في بايثون؟

التجزئة (slicing) في بايثون هي واحدة من أهم التقنيات التي تُمكن المطورين من التعامل مع أجزاء محددة من التسلسلات (Sequences) مثل القوائم (Lists)، السلاسل النصية (Strings)، و الصفوف (Tuples). وهي طريقة مرنة وفعالة لاستخراج البيانات دون الحاجة إلى الحلقات (Loops).

الصيغة الأساسية للتجزئة (slicing) في بايثون

التسلسل[start:stop:step]
  • start: بداية التقطيع (يُشمل).

  • stop: نهاية التقطيع (لا يُشمل).

  • step: مقدار القفز بين العناصر.


أمثلة على التجزئة (slicing) في القوائم (Lists)

استخراج عناصر من بداية محددة إلى نهاية محددة

numbers = [5, 10, 15, 20, 25, 30, 35]
print(numbers[2:5])  # الناتج: [15, 20, 25]

استخراج عناصر من البداية حتى مكان معين

print(numbers[:4])  # الناتج: [5, 10, 15, 20]

استخراج عناصر من مكان معين حتى النهاية

print(numbers[3:])  # الناتج: [20, 25, 30, 35]

استخدام step لتحديد الفاصل بين العناصر

print(numbers[::2])  # الناتج: [5, 15, 25, 35]
print(numbers[1::2]) # الناتج: [10, 20, 30]

عكس القائمة

print(numbers[::-1])  # الناتج: [35, 30, 25, 20, 15, 10, 5]

أمثلة على التجزئة (slicing) في السلاسل النصية (Strings)

استخراج جزء من نص

text = "Python Programming"
print(text[0:6])   # الناتج: 'Python'

الحصول على آخر 5 أحرف

print(text[-5:])   # الناتج: 'mming'

استخراج كل حرفين

print(text[::2])   # الناتج: 'Pto rgamn'

عكس السلسلة النصية

print(text[::-1])  # الناتج: 'gnimmargorP nohtyP'

أمثلة على التجزئة (slicing) في الـ Tuples

my_tuple = (100, 200, 300, 400, 500)

# استخراج من العنصر الثاني للرابع
print(my_tuple[1:4])  # الناتج: (200, 300, 400)

# استخراج كل عنصرين
print(my_tuple[::2])  # الناتج: (100, 300, 500)

# عكس الترتيب
print(my_tuple[::-1])  # الناتج: (500, 400, 300, 200, 100)

حالات متقدمة: التجزئة (slicing) مع أرقام سالبة

بدء التقطيع من النهاية

my_list = [1, 2, 3, 4, 5, 6, 7, 8]

# من العنصر قبل الأخير إلى العنصر الرابع
print(my_list[-2:3:-1])  # الناتج: [7, 6, 5]

تقنية التجزئة (slicing) في بايثون من الأدوات المهمة والفعالة للتعامل مع التسلسلات، حيث تمنحك تحكمًا كاملاً في استخراج أجزاء من البيانات بشكل بسيط ومرن. سواء كنت تعمل على قوائم أو نصوص أو Tuples أو حتى مصفوفات متعددة الأبعاد (مثل NumPy)، فإتقان التجزئة (slicing) سيساعدك على تحسين كتابة الكود وسرعة التنفيذ.

حول المحتوى:

كيف تعمل تقنية التجزئة (slicing) في بايثون؟