Blackhacker نشر 9 فبراير 2016 أرسل تقرير نشر 9 فبراير 2016 لدي قائمة تشبه القائمة التالية: alist = ['Ahmed', 'abdallah'] وأريد ترتيبها دون اعتبار لحالة الأحرف ولتصبح كالتالي بعد الترتيب: alist = ['abdallah','Ahmed'] فما الطريقة الصحيحة لفعل ذلك في بايثون؟ حيث أنني جربت استخدام دوال sorted() و alist.sort() لكنني أحصل على نتيجة عكس ما كنت أريده. اقتباس
0 هشام رزق الله نشر 9 فبراير 2016 أرسل تقرير نشر 9 فبراير 2016 يوجد عدة طرق لفعل ذلك في بايثون وتختلف الطرق بين إصدارين 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'] اقتباس
السؤال
Blackhacker
لدي قائمة تشبه القائمة التالية:
alist = ['Ahmed', 'abdallah']
وأريد ترتيبها دون اعتبار لحالة الأحرف ولتصبح كالتالي بعد الترتيب:
alist = ['abdallah','Ahmed']
فما الطريقة الصحيحة لفعل ذلك في بايثون؟ حيث أنني جربت استخدام دوال sorted() و alist.sort() لكنني أحصل على نتيجة عكس ما كنت أريده.
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.