Python - قوائم الفرز
قائمة الفرز أبجديًا رقميًا
تحتوي كائنات القائمة على
sort()
طريقة تقوم بفرز القائمة أبجديًا رقميًا ، تصاعديًا ، افتراضيًا:
مثال
فرز القائمة أبجديا:
thislist = ["orange", "mango", "kiwi",
"pineapple", "banana"]
thislist.sort()
print(thislist)
مثال
فرز القائمة عدديا:
thislist = [100, 50, 65, 82, 23]
thislist.sort()
print(thislist)
ترتيب تنازلي
للفرز تنازليًا ، استخدم وسيطة الكلمة الأساسية reverse = True
:
مثال
فرز القائمة تنازليًا:
thislist = ["orange", "mango", "kiwi",
"pineapple", "banana"]
thislist.sort(reverse = True)
print(thislist)
مثال
فرز القائمة تنازليًا:
thislist = [100, 50, 65, 82, 23]
thislist.sort(reverse = True)
print(thislist)
تخصيص وظيفة الفرز
يمكنك أيضًا تخصيص الوظيفة الخاصة بك باستخدام وسيطة الكلمات الأساسية .key =
function
ستُرجع الدالة الرقم الذي سيتم استخدامه لفرز القائمة (أقل رقم أولاً):
مثال
قم بفرز القائمة بناءً على مدى قرب الرقم من 50:
def myfunc(n):
return abs(n - 50)
thislist = [100, 50, 65, 82, 23]
thislist.sort(key =
myfunc)
print(thislist)
فرز غير حساس لحالة الأحرف
بشكل افتراضي ، تكون sort()
الطريقة حساسة لحالة الأحرف ، مما يؤدي إلى فرز جميع الأحرف الكبيرة قبل الأحرف الصغيرة:
مثال
يمكن أن يعطي الفرز الحساس لحالة الأحرف نتيجة غير متوقعة:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort()
print(thislist)
لحسن الحظ ، يمكننا استخدام الوظائف المضمنة كوظائف رئيسية عند فرز قائمة.
لذلك إذا كنت تريد وظيفة فرز غير حساسة لحالة الأحرف ، فاستخدم str.lower كوظيفة رئيسية:
مثال
قم بإجراء نوع من القائمة غير حساس لحالة الأحرف:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort(key
= str.lower)
print(thislist)
ترتيب عكسي
ماذا لو كنت تريد عكس ترتيب القائمة ، بغض النظر عن الأبجدية؟
تعكس reverse()
الطريقة ترتيب الفرز الحالي للعناصر.
مثال
عكس ترتيب عناصر القائمة:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.reverse()
print(thislist)