القوائم والفهرسة والتقطيع في CP
الوصول والتقطيع والعكس دون أخطاء الواحد
القوائم والفهرسة والتقطيع في CP درس مجاني في Coding Interview Prep على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Coding Interview Prep، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Coding Interview Prep 4 دروس في المجموع.
أداتك الأساسية في المسابقات
في Python التنافسية، تُعد list مصفوفتك الأساسية. فهي تخزّن العناصر بالترتيب وتنمو عند الحاجة، لذا تبدأ منها معظم المسائل.
a = [4, 1, 7, 3]الفهرسة من الصفر
تستخدم القوائم الفهرسة ذات الأساس الصفري، لذا فإن a[0] هو العنصر الأول. ونسيان ذلك هو خطأ مقدار واحد الكلاسيكي الذي يضيّع نقاطًا سهلة.
a = [4, 1, 7, 3]
print(a[0]) # 4الوصول إلى النهاية من الخلف
تُعدّ الفهارس السالبة من اليمين، لذا فإن a[-1] هو العنصر الأخير. ولا حاجة إلى حساب len(a) - 1 بنفسك.
a = [4, 1, 7, 3]
print(a[-1]) # 3ما طوله؟
استخدم len(a) للحصول على عدد العناصر. وتمتد الفهارس الصالحة من 0 إلى len(a) - 1، ولا تتجاوزه أبدًا.
a = [4, 1, 7, 3]
print(len(a)) # 4خذ شريحة
تأخذ الشريحة a[i:j] العناصر من الفهرس i حتى ما قبل j، من دون تضمينه. وتُستبعد النهاية اليمنى دائمًا.
a = [4, 1, 7, 3]
print(a[1:3]) # [1, 7]الشرائح المفتوحة النهاية
اترك أحد الطرفين فارغًا للوصول إلى الحافة. يأخذ a[:k] أول k من العناصر، بينما يأخذ a[k:] كل شيء بدءًا من k.
a = [4, 1, 7, 3]
print(a[:2], a[2:])تنقّل بخطوة محددة
الرقم الثالث هو الخطوة. يأخذ a[::2] كل عنصر ثانٍ، وهو مفيد لتقسيم العناصر إلى مواضع زوجية وفردية.
a = [4, 1, 7, 3]
print(a[::2]) # [4, 7]اعكس في خطوة واحدة
تقلب الخطوة -1 القائمة. ويعطي a[::-1] نسخة معكوسة من دون تعديل الأصلية، وهو أمر رائع للتحقق من المتناظرات.
a = [4, 1, 7, 3]
print(a[::-1]) # [3, 7, 1, 4]الشرائح تنشئ نسخًا
يعيد التقطيع قائمة جديدة، لذا فإن a[:] طريقة سريعة لإنشاء نسخة سطحية. ولن يؤدي تعديل النسخة إلى تغيير المصفوفة الأصلية.
b = a[:]
b[0] = 99 # a is untouchedالحدود الآمنة تمنع الأعطال
تؤدي قراءة a[len(a)] إلى رفع IndexError، وهو حكم خطأ وقت تشغيل فوري. تحقق دائمًا من أن الفهرس يقع داخل القائمة.
if i < len(a):
use(a[i])التقطيع لا يسبب أعطالًا
بخلاف الفهرسة، فإن الشريحة الخارجة عن النطاق متسامحة. فـ a[2:99] تعيد ببساطة ما هو موجود، وتقتطع النهاية بهدوء.
a = [4, 1, 7, 3]
print(a[2:99]) # [7, 3]اختبار سريع
اختبر حدسك بشأن التقطيع على قائمة صغيرة.
مراجعة: أساسيات القوائم
يمكنك الآن الفهرسة من الطرفين، وتقطيع النطاقات، واستخدام الخطوات، والعكس بأمان. وتشكل هذه أساسيات القوائم قاعدة كل مسألة مصفوفات قادمة. 🚀
الأسئلة الشائعة
هل درس «القوائم والفهرسة والتقطيع في CP» مجاني؟
نعم — نص درس «القوائم والفهرسة والتقطيع في CP» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Coding Interview Prep، انتقل إلى CoddyKit PRO. تتضمن دورة Coding Interview Prep 4 دروس في المجموع.
ماذا ستتعلم في «القوائم والفهرسة والتقطيع في CP»؟
الوصول والتقطيع والعكس دون أخطاء الواحد تتمرن على Coding Interview Prep مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Coding Interview Prep؟
لا تُشترط خبرة سابقة. Coding Interview Prep على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «القوائم والفهرسة والتقطيع في CP»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Coding Interview Prep هذا؟
نعم. كل درس في Coding Interview Prep يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- القوائم والفهرسة والتقطيع في CP
- إنشاء المصفوفات بسرعة باستخدام الاستيعاب
- Min وMax وSum والمجاميع التراكمية
- العثور على الفهرس لا القيمة فقط