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

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

Blackhacker

السؤال

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

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...