تقطيع القوائم - الجزء الثاني
جزء من قسم 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 تعني ”التحرك للخلف خطوة واحدة في كل مرة“
التحدي
سهلأنشئ برنامجاً يستقبل قائمة كمدخل (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(",")
# اكتب الكود الخاص بك أدناهيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع7حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على المدخلات2المتغيرات
الأرقامالنصوص (String)القيم المنطقية (Boolean)قواعد التسميةالمتغيرات الفارغةمراجعة - تهيئة المتغيرات8الحلقات التكرارية
حلقة Forحلقة Whileجملة Breakجملة Continueمراجعة - المضروب (Factorial)دالة Rangeالحلقات المتداخلةمراجعة - Dynamic Input3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - العمليات الرياضية البسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
الإخراجالإخراج مع المتغيراتالإدخالتحويل الأنواعمراجعة - حتى 120مراجعة - صح أم خطأ