تقنية

index في بايثون: هل start يغيّر ترقيم النتيجة؟

البحث من 1 يعيد 2؛ النهاية 2 تستبعد r فتثير ValueError.
نتيجة وحد مستبعد.

list.index تعيد الفهرس من بداية القائمة الأصلية؛ start يحدد بداية البحث فقط. [1]

الخلاصة السريعة

لا؛ ترقيم النتيجة يبقى من بداية القائمة، بدءًا بالصفر. [1]

  • list.index تعيد الفهرس من بداية القائمة الأصلية؛ start يحدد بداية البحث فقط. [1]
  • في المثال، start مشمول وend مستبعد من نطاق البحث. [1]
  • مثال مؤلف على CPython 3.12.14: a=["r","b","r"]؛ a.index("r",1) تعيد 2. [1]
  • أما a.index("r",1,2) فتثير ValueError؛ النطاق يفحص b وحدها، ولا يجد r. [1]
  • بعد الاستدعاءين، تبقى a=["r","b","r"]؛ لم يتغير ترقيمها أو محتواها. [1]

فهرس القائمة

list.index تعيد الفهرس من بداية القائمة الأصلية؛ start يحدد بداية البحث فقط. [1]

حدا البحث

في المثال، start مشمول وend مستبعد من نطاق البحث. [1]

البحث من 1

مثال مؤلف على CPython 3.12.14: a=["r","b","r"]؛ a.index("r",1) تعيد 2. [1]

a.index("r",1) -> 2 [1]

بين البداية 1 والنهاية المستبعدة 2، يُفحص b وحده عند 1.
الموضع الوحيد المفحوص.

نهاية مستبعدة

أما a.index("r",1,2) فتثير ValueError؛ النطاق يفحص b وحدها، ولا يجد r. [1]

a.index("r",1,2) -> ValueError [1]

بعد الاستدعاءين، تبقى a=["r","b","r"]؛ لم يتغير ترقيمها أو محتواها. [1]

المراجع

  1. Python — sequence.index

للتوسع: لغات البرمجة.

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.