• 0

كيف أحصل على قائمة من مواقع عناصر في قائمة أخرى بشروط معينة في بايثون؟

أريد القيام بحلقة تكرار على قائمة ومن ثم طباعة مواقع العناصر التي تحقق شرط معين فكيف أستطيع فعل ذلك؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

يمكنك الحصول على مواقع عناصر معينة في قائمة بالشروط التي تريدها وذلك عن طريق كتابة سطر واحد ومن ثم ستحصل على القائمة والتي يمكنك طباعتها فيما بعد.
سنستخدم حلقة التكرار for مع دالة enumerate() والجملة الشرطية التي تريدها، مثلا وضعنا في مثالنا التالي الشرط هو أن تكون قيمة العنصر 1 ليتم وضع رقم موقعها في قائمة كما في المثال التالي:

 [i for i,x in enumerate(testlist) if x == 1]

تجربة بسيطة حول استخدام المثال السابق:

>>> testlist
[1, 2, 3, 5, 3, 1, 2, 1, 6]
>>> [i for i,x in enumerate(testlist) if x == 1]
[0, 5, 7]

وإذا لم تكن ترغب في الحصول على قائمة يمكنك طباعة الناتجة مباشرة كما في المثال التالي:

>>> for i in [i for i,x in enumerate(testlist) if x == 1]:
...     print i
...
0
5
7

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن