9.2 ترتيب القوائم وعكسها
أهداف التعلم
في نهاية هذا القسم، ينبغي أن تكون قادرًا على:
- استيعاب مفهوم الترتيب.
- استخدام التابعين المُضمَّنين
sort()وreverse().
الترتيب
غالبًا ما يكون ترتيب العناصر في تسلسل أمرًا مفيدًا. الترتيب (Sorting) عملية تنظيم العناصر وفق تسلسل تصاعدي أو تنازلي.
يمكن أن يعمل الترتيب على البيانات الرقمية أو غير الرقمية. عند ترتيب النصوص، يُستخدم الترتيب الأبجدي. مثال: "bat" يأتي قبل "cat" لأن "b" يأتي قبل "c".
مفاهيم تطبيقية
الترتيب
استخدام sort()
و reverse()
توفر بايثون توابع لترتيب عناصر القائمة.
- يُرتِّب التابع
sort()عناصر القائمة تصاعديًّا. بالنسبة للسلاسل النصية، تُستخدم قيم آسكي (ASCII values) وتأتي الأحرف الكبيرة قبل الأحرف الصغيرة، مما قد يؤدي إلى نتائج غير متوقعة. مثال: يُرتَّب"A"قبل"a"بترتيب تصاعدي، وكذلك"G"، ولذلك تأتي"Gail"قبل"apple". - يعكس التابع
reverse()عناصر القائمة.
مثال 9.2
ترتيب القوائم وعكسها
# إعداد قائمة أعداد
num_list = [38, 92, 23, 16]
print(num_list)
# ترتيب القائمة
num_list.sort()
print(num_list)
# إعداد قائمة كلمات
dance_list = ["Stepping", "Ballet", "Salsa", "Kathak", "Hopak", "Flamenco", "Dabke"]
# عكس القائمة
dance_list.reverse()
print(dance_list)
# ترتيب القائمة
dance_list.sort()
print(dance_list)
مخرجات الشِفرة أعلاه:
[38, 92, 23, 16]
[16, 23, 38, 92]
["Dabke", "Flamenco", "Hopak", "Kathak", "Salsa", "Ballet", "Stepping"]
["Ballet", "Dabke", "Flamenco", "Hopak", "Kathak", "Salsa", "Stepping"]
مفاهيم تطبيقية
تابعا sort() و reverse()
استخدم القائمة التالية للإجابة عن الأسئلة أدناه.
board_games = ["go", "chess", "scrabble", "checkers"]
جرّب بنفسك
الترتيب والعكس
أكمل البرنامج أدناه لترتيب الأرقام وطباعتها تصاعديًّا وتنازليًّا.