• 0

كيف أطبع قائمة بترتيب معكوس في البايثون؟

أريد طباعة قائمة بترتيب معكوس في البايثون مع إظهار الموقع الأصلي لكل عنصر بجانبه كما في المثال التالي:

2 baz
1 bab
0 foo

حيث أن القائمة الأصلية هي:

a = ["foo", "bar", "baz"]

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


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

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

>>> a = ["foo", "bar", "baz"]
>>> for i in reversed(a):
...     print i
...
baz
bar
foo

وبما أنك أردت أن تطبع موقع كل عنصر من القائمة ففي هذه الحالة سنضيف متغير آخر يحمل موقع العنصر (المتغير e) وسنستخدم الدوال المدمجة list() و enumerate() حتى نتمكّن من الحصول على موقع العنصر وكما في المثال الأول نستخدم حلقة التكرار for لطباعة العنصر وموقعه:

>>> for i, e in reversed(list(enumerate(a))):
...     print i, e
...
2 baz
1 bar
0 foo

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


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

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

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

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


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

تسجيل الدخول

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


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