Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

تحدي المراجعة - فرز Lambda

جزء من قسم Logic & Flow في رحلة Python على Coddy — الدرس 59 من 78.

تعد دوال لامبدا (Lambda functions) مفيدة للغاية مع دالة sorted() لتخصيص الفرز في سيناريوهات مختلفة. إليك بعض الأمثلة:

فرز السلاسل النصية حسب الطول:

names = ["Alice", "Bob", "Charlie", "Diana"]
sorted_names = sorted(names, key=lambda x: len(x))
print(sorted_names)
# الناتج: ['Bob', 'Alice', 'Diana', 'Charlie']

فرز القواميس حسب القيم:

grades = {"Alice": 85, "Bob": 90, "Charlie": 78}
sorted_grades = sorted(grades.items(), key=lambda x: x[1])
print(sorted_grades)
# المخرجات: [('Charlie', 78), ('Alice', 85), ('Bob', 90)]

فرز الأرقام حسب القيمة المطلقة:

numbers = [-10, 15, -20, 25]
sorted_numbers = sorted(numbers, key=lambda x: abs(x))
print(sorted_numbers)
# Output: [-10, 15, -20, 25]

فرز الصفوف (Tuples) بناءً على معايير متعددة:

data = [("Alice", 25), ("Bob", 30), ("Charlie", 25)]
sorted_data = sorted(data, key=lambda x: (x[1], x[0]))
print(sorted_data)
# المخرجات: [('Alice', 25), ('Charlie', 25), ('Bob', 30)]
challenge icon

التحدي

سهل

أنشئ دالة باسم sort_tuples تأخذ قائمة من الأزواج data كوسيط (argument). كل زوج (tuple) في data يحتوي على عنصرين: سلسلة نصية (string) ورقم. يجب أن تستخدم الدالة دالة sorted() جنبًا إلى جنب مع دالة lambda لفرز قائمة الأزواج بناءً على العنصر الثاني (الرقم) بترتيب تصاعدي. يجب أن تعيد الدالة قائمة الأزواج المرتبة.

ورقة مرجعية

فرز السلاسل النصية حسب الطول:

names = ["Alice", "Bob", "Charlie", "Diana"]
sorted_names = sorted(names, key=lambda x: len(x))
print(sorted_names)
# المخرجات: ['Bob', 'Alice', 'Diana', 'Charlie']

فرز القواميس حسب القيم:

grades = {"Alice": 85, "Bob": 90, "Charlie": 78}
sorted_grades = sorted(grades.items(), key=lambda x: x[1])
print(sorted_grades)
# المخرجات: [('Charlie', 78), ('Alice', 85), ('Bob', 90)]

فرز الأرقام حسب القيمة المطلقة:

numbers = [-10, 15, -20, 25]
sorted_numbers = sorted(numbers, key=lambda x: abs(x))
print(sorted_numbers)
# المخرجات: [-10, 15, -20, 25]

فرز الصفوف (Tuples) حسب معايير متعددة:

data = [("Alice", 25), ("Bob", 30), ("Charlie", 25)]
sorted_data = sorted(data, key=lambda x: (x[1], x[0]))
print(sorted_data)
# المخرجات: [('Alice', 25), ('Charlie', 25), ('Bob', 30)]

جرّب بنفسك

def sort_tuples(data):
    # اكتب الكود هنا
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Logic & Flow