يتيح لك فرز قائمة في Python ترتيب عناصرها بترتيب تصاعدي أو تنازلي.

بدلاً من كتابة كتل طويلة من التعليمات البرمجية للقيام بذلك ، تمتلك Python طريقة مضمنة تتيح لك فرز العناصر في أي قائمة أو مصفوفة. سنشرح كيفية القيام بذلك في هذا المنشور.

كيفية فرز قائمة في بايثون

يمكنك فرز العناصر في قائمة أو مصفوفة باستخدام Python فرز() طريقة.

ال فرز() يقبل التابع في Python وسيطتين اختياريتين ويبدو بناء الجملة كما يلي:

list.sort (مفتاح = وظيفة ، عكس = صواب / خطأ)

بشكل افتراضي ، فرز() طريقة ترتيب عناصر القائمة بترتيب تصاعدي:

myList = ["C" ، "D" ، "B" ، "A" ، "F"]
myList.sort ()
طباعة (myList)
الإخراج: ['A'، 'B'، 'C'، 'D'، 'F']

يمكنك استعمال ال يعكس حجة لعرض القائمة بترتيب تنازلي:

myList = ["C" ، "D" ، "B" ، "A" ، "F"]
myList.sort (عكسي = صحيح)
طباعة (myList)
الإخراج: ['F'، 'D'، 'C'، 'B'، 'A']

يمكنك أيضًا ترتيب العناصر في قائمة بطول كل سلسلة.

للقيام بذلك ، قم بإنشاء دالة ومررها إلى ملف فرز() باستخدام الطريقة الاختيارية مفتاح جدال:

myList = ["MUO"، "Python"، "JavaScript"، "Sort"، "Sortlists"]
def الترتيبالطول (العنصر):
instagram viewer

عودة لين (عنصر)
myList.sort (عكسي = صحيح ، مفتاح = SortLength)
طباعة (myList)
الإخراج: ['JavaScript'، 'Sortlists'، 'Python'، 'Sort'، 'MUO']

كيفية فرز قائمة القواميس في بايثون

يمكنك استعمال ال فرز() طريقة لفرز قائمة القواميس أيضًا.

دعنا نفرز المهام في القاموس أدناه حسب وقتها:

myArray = [
{"المهمة": "غسل" ، "الوقت": 12.00} ،
{"المهمة": "كرة القدم" ، "الوقت": 24.00} ،
{"المهمة": "فرز" ، "الوقت": 17.00} ،
{"المهمة": "الرمز" ، "الوقت": 15.00}
]
def sortByTime (عنصر):
إرجاع العنصر ["الوقت"]
myArray.sort (مفتاح = sortByTime)
طباعة (myArray)

نظرًا لأن قيم الوقت هي أعداد صحيحة ، فإن كتلة التعليمات البرمجية أعلاه تعيد ترتيب المصفوفة بناءً على وقت المهمة.

متعلق ب: كيف تعمل المصفوفات والقوائم في بايثون

بالإضافة إلى فرز المصفوفة أعلاه حسب الوقت ، يمكنك أيضًا ترتيبها أبجديًا باستخدام المهام ، وهي عبارة عن سلاسل.

للفرز حسب السلسلة في المثال المصفوفة ، ما عليك سوى التغيير زمن في القوس المربّع لـ مهمة:

myArray = [
{"المهمة": "غسل" ، "الوقت": 12.00} ،
{"المهمة": "كرة القدم" ، "الوقت": 24.00} ،
{"المهمة": "فرز" ، "الوقت": 17.00} ،
{"المهمة": "الرمز" ، "الوقت": 15.00}
]
def sortByTime (عنصر):
إرجاع العنصر ["المهمة"]
myArray.sort (مفتاح = sortByTime)
طباعة (myArray)

يمكنك أيضًا فرز المهام بترتيب عكسي عن طريق الإعداد يعكس صحيح:

myArray.sort (مفتاح = sortByTime ، عكسي = صحيح)

بامكانك ايضا استخدم دالة لامدا مع فرز() لكود أنظف:

myArray.sort (key = lambda getTime: getTime ["Time"])
طباعة (myArray)

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

يمكنك فرز قائمة متداخلة من المجموعات حسب فهرس كل عنصر متداخل في تلك القائمة.

على سبيل المثال ، يستخدم الكود أدناه العنصر الثالث في كل مجموعة لفرز القائمة بترتيب تصاعدي:

أليست = [(3 ، 19 ، 20) ، (2 ، 6 ، 0) ، (1 ، 8 ، 15) ، (7 ، 9 ، 3) ، (10 ، 19 ، 4)]
def الترتيب حسب الفهرس الثالث (أ):
إرجاع [2]
Alist.sort (key = sortByThirdIndex)
طباعة (أليست)
المخرجات: [(2، 6، 0)، (7، 9، 3)، (10، 19، 4)، (1، 8، 15)، (3، 19، 20)]

في الإخراج أعلاه ، يزيد العنصر الثالث في كل مجموعة من صفر إلى عشرين على التوالي.

لاحظ أن هذا لا يعمل مع مجموعة Python حيث لا يمكنك فهرستها. علاوة على ذلك ، يجب أن ينتمي كل عش في القائمة إلى نفس نوع البيانات.

متعلق ب: ما هي المجموعة في بايثون وكيفية إنشاء واحدة

ومع ذلك ، لترتيب الإخراج بترتيب تنازلي:

Alist.sort (مفتاح = getIndex ، عكسي = صحيح)
طباعة (أليست)
المخرجات: [(3، 19، 20)، (1، 8، 15)، (10، 19، 4)، (7، 9، 3)، (2، 6، 0)]

دعونا نرى كيف يبدو هذا مع ملف لامدا تعمل كذلك:

أليست = [(3 ، 19 ، 20) ، (2 ، 6 ، 0) ، (1 ، 8 ، 15) ، (7 ، 9 ، 3) ، (10 ، 19 ، 4)]
newList = تم الفرز (Alist، key = lambda a: a [2])
طباعة (قائمة جديدة)
المخرجات: [(2، 6، 0)، (7، 9، 3)، (10، 19، 4)، (1، 8، 15)، (3، 19، 20)]

كيفية فرز قائمة باستخدام طريقة Sorted ()

بدلاً من ذلك ، يمكنك استخدام ملف مرتبة() طريقة.

على الرغم من أنه يعمل بشكل مشابه لـ فرز() طريقة جديدة ، فإنه ينشئ قائمة جديدة مرتبة دون تعديل الأصل. كما أن تخطيطها النحوي مختلف قليلاً.

بناء الجملة لملف مرتبة() الطريقة بشكل عام تبدو كالتالي:

مرتبة (قائمة ، مفتاح = وظيفة ، عكسي = صواب / خطأ)

لذلك لفرز قائمة باستخدام الامتداد مرتبة() طريقة ، تحتاج إلى إنشاء متغير جديد للقائمة المصنفة:

أليست = [(3 ، 19 ، 20) ، (2 ، 6 ، 0) ، (1 ، 8 ، 15) ، (7 ، 9 ، 3) ، (10 ، 19 ، 4)]
def getIndex (أ):
إرجاع [2]
newList = تم الفرز (Alist، key = getIndex)
طباعة (قائمة جديدة)
المخرجات: [(2، 6، 0)، (7، 9، 3)، (10، 19، 4)، (1، 8، 15)، (3، 19، 20)]

ال مرتبة() يقبل الأسلوب أيضًا أ لامدا تعمل كمفتاحها:

أليست = [(3 ، 19 ، 20) ، (2 ، 6 ، 0) ، (1 ، 8 ، 15) ، (7 ، 9 ، 3) ، (10 ، 19 ، 4)]
newList = تم الفرز (Alist، key = lambda a: a [2])
طباعة (قائمة جديدة)
المخرجات: [(2، 6، 0)، (7، 9، 3)، (10، 19، 4)، (1، 8، 15)، (3، 19، 20)]

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

يعد الفهم القوي لطريقة فرز Python أمرًا ضروريًا للبرمجة الفعالة. يتيح لك التحكم في كيفية ظهور قائمة أو مصفوفة ، ويمكنك دائمًا تطبيقها في مشاريع واقعية. على سبيل المثال ، يمكن أن يكون فرز قائمة Python مفيدًا عند إعادة ترتيب البيانات من واجهة برمجة التطبيقات أو قاعدة بيانات ، لذلك يكون الأمر أكثر منطقية بالنسبة للمستخدم النهائي.

بريد إلكتروني
كيفية إلحاق قائمة في بايثون

العمل مع القوائم في بايثون؟ إليك ما تحتاج إلى معرفته حول استخدام وظيفة إلحاق Python عند العمل مع القوائم.

اقرأ التالي

مواضيع ذات صلة
  • برمجة
  • بايثون
  • دروس الترميز
عن المؤلف
إيدوو أوميسولا (تم نشر 66 مقالة)

Idowu شغوف بأي شيء التكنولوجيا الذكية والإنتاجية في أوقات فراغه ، يلعب بالبرمجة ويتحول إلى رقعة الشطرنج عندما يشعر بالملل ، لكنه أيضًا يحب الابتعاد عن الروتين من حين لآخر. يحفزه شغفه بإظهار طريقة حول التكنولوجيا الحديثة للناس على كتابة المزيد.

المزيد من Idowu Omisola

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

خطوة أخرى أيضا…!

يرجى تأكيد عنوان بريدك الإلكتروني في البريد الإلكتروني الذي أرسلناه لك للتو.

.