اذهب إلى المحتوى

السؤال

نشر

لدي قائمة تشبه القائمة التالية:

alist = ['Ahmed', 'abdallah']

وأريد ترتيبها دون اعتبار لحالة الأحرف ولتصبح كالتالي بعد الترتيب:

alist = ['abdallah','Ahmed']

فما الطريقة الصحيحة لفعل ذلك في بايثون؟ حيث أنني جربت استخدام دوال sorted() و alist.sort() لكنني أحصل على نتيجة عكس ما كنت أريده.

Recommended Posts

  • 0
نشر

يوجد عدة طرق لفعل ذلك في بايثون وتختلف الطرق بين إصدارين 2 و3 للبايثون بسبب أن الإصدار الثالث أصبح يرمّز السلاسل النصية كـ Unicode، فإذا كنت تستخدم الإصدار الثاني للبايثون فيمكنك في هذه الحالة استخدام lambda ودالة lower حتى تتمكن من الفرز بطريقة حالة الحروف غير حساسة كما في المثال التالي:

sorted(lst, key=lambda s: s.lower())

أما في الإصدار الثالث في بايثون فيمكنك استخدام هذه الطريقة:

>>> x = ['Aden', 'abel']
>>> sorted(x, key=str.lower) # Or unicode.lower if all items are unicode
['abel', 'Aden']

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...