• 0

كيف أرتب قائمة تواريخ وأوقات بترتيب تنازلي في بايثون؟

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

timestamp = [
    "2010-04-20 10:07:30",
    "2010-04-20 10:07:38",
    "2010-04-20 10:07:52",
    "2010-04-20 10:08:22",
    "2010-04-20 10:08:22",
    "2010-04-20 10:09:46",
    "2010-04-20 10:10:37",
    "2010-04-20 10:10:58",
    "2010-04-20 10:11:50",
    "2010-04-20 10:12:13",
    "2010-04-20 10:12:13",
    "2010-04-20 10:25:38"
]

 

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


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

هنالك عدّة طرق في بايثون لترتيب سلسلة ذات نمط معين من الأرقام (كالتواريخ والأوقات) بترتيب مُحدّد سواء أكان تصاعدي أو تنازلي، فمثلا يمكنك استخدام دالة sort وستمرر لها مفتاح الدالة lambda الذي يحتوي على التشكيل الصحيح للتاريخ كما في المثال التالي:

timestamp.sort(key=lambda x: time.strptime(x, '%Y-%m-%d %H:%M:%S')[0:6],
    reverse=True)

أو بما أن القائمة مرتبة بترتيب تصاعدي بالفعل فيمكنك ببساطة عكس ترتيب القائمة لتحصل على الترتيب التنازلي وذلك عن طريق دالة reverse() كما في المثال التالي:

>>> timestamp.reverse()
>>> timestamp
['2010-04-20 10:25:38',
'2010-04-20 10:12:13',
'2010-04-20 10:12:13',
'2010-04-20 10:11:50',
'2010-04-20 10:10:58',
'2010-04-20 10:10:37',
'2010-04-20 10:09:46',
'2010-04-20 10:08:22',
'2010-04-20 10:08:22',
'2010-04-20 10:07:52',
'2010-04-20 10:07:38',
'2010-04-20 10:07:30']

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


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

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

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

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


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

تسجيل الدخول

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


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