• 0

كيف أجد مواقع أكبر قيم في قائمة في بايثون؟

أملك قائمة كبيرة جدا وأحتاج إلى الحصول على مواقع أكبر قيمة بين عناصرها، فمثلا القائمة التالية:

a = [32, 37, 28, 30, 37, 25, 27, 24, 35, 55, 23, 31, 55, 21, 40, 18, 50,
             35, 41, 49, 37, 19, 40, 41, 31]

أكبر عنصر فيها هو 55 ومواقعه 9 و12، فما الطريقة الصحيحة للحصول على هذه القيم في بايثون؟

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


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

يوجد العديد من الطرق لفعل ذلك في بايثون، فيمكنك على سبيل المثال استخدام دوال max و index في سطر واحد فقط في حالة ما ردت الحصول على موقع أو تكرار لأكبر عنصر في القائمة كما في المثال التالي:

a.index(max(a))

أو يمكنك استعمال حلقة التكرار for مع دالة enumerate كما في المثال التالي للحصول على قائمة تحتوي على مواقع جميع التكرارات لأكبر عنصر كالتالي:

>>> m = max(a)
>>> [i for i, j in enumerate(a) if j == m]
[9, 12]

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


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

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

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

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


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

تسجيل الدخول

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


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