Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

تقطيع القوائم - الجزء الثاني

جزء من قسم Fundamentals في رحلة Python على Coddy — الدرس 65 من 77.

عملية التقطيع (Slicing) تحتوي على معامل خطوة (step) آخر: lst[start:stop:step]، على سبيل المثال، لنأخذ هذه القائمة:

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

الحصول على كل عنصر ثاني من الفهرس 1 إلى 8:

print(numbers[1:8:2])
# المخرجات: [1, 3, 5, 7]

يجلب كل عنصر ثالث بدءاً من الفهرس 2:

print(numbers[2::3])
# الناتج: [2, 5, 8]

يدعم التقطيع أيضاً الفهارس السالبة.

العد من النهاية:

print(numbers[-3:])
# الناتج: [7, 8, 9]

هنا، تعني -3 "البدء من 3 مواضع من النهاية"

العد حتى النهاية:

print(numbers[:-2])    
# المخرجات: [0, 1, 2, 3, 4, 5, 6, 7]

هنا، تعني -2 "التوقف قبل موضعين من النهاية" (غير شامل)

العكس باستخدام خطوة سالبة:

print(numbers[::-1])
# المخرجات: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
  • المسافة الفارغة قبل أول : تعني ”البدء من البداية“
  • المسافة الفارغة بين : تعني ”الذهاب حتى النهاية“
  • -1 تعني ”التحرك للخلف خطوة واحدة في كل مرة“ 
challenge icon

التحدي

سهل

أنشئ برنامجاً يستقبل قائمة كمدخل (given) ويطبع ثلاث قوائم جديدة بناءً على عمليات التقطيع (slicing) التالية:

  • قائمة تحتوي على كل ثالث عنصر، بدءاً من الفهرس 1 (العنصر الثاني)
  • قائمة تحتوي على جميع العناصر من العنصر السادس إلى الأول بترتيب عكسي
  • قائمة تحتوي على كل ثاني عنصر بدءاً من منتصف القائمة وحتى نهايتها

ورقة مرجعية

صيغة التقطيع (Slicing): lst[start:stop:step]

أمثلة على التقطيع:

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# كل عنصر ثانٍ من الفهرس 1 إلى 8
print(numbers[1:8:2])  # Output: [1, 3, 5, 7]

# كل عنصر ثالث من الفهرس 2
print(numbers[2::3])  # Output: [2, 5, 8]

# العناصر الثلاثة الأخيرة
print(numbers[-3:])  # Output: [7, 8, 9]

# جميع العناصر باستثناء آخر عنصرين
print(numbers[:-2])  # Output: [0, 1, 2, 3, 4, 5, 6, 7]

# عكس القائمة
print(numbers[::-1])  # Output: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

نقاط رئيسية:

  • الفهارس السالبة تبدأ العد من نهاية القائمة
  • المساحة الفارغة قبل أول : تعني "البدء من البداية"
  • المساحة الفارغة بين : تعني "الاستمرار حتى النهاية"
  • الخطوة (step) السالبة تعكس الترتيب

جرّب بنفسك

lst = input().split(",")
# اكتب الكود الخاص بك أدناه
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals