sorted() الترتيب مع إرجاع قائمة جديدة
آخر تحديث: 2026-09-22
sorted() الترتيب مع إرجاع قائمة جديدة
يُرجع sorted(iterable, *, key=None, reverse=False) قائمة جديدة مرتبة، دون تغيير الكائن الأصلي؛ ويمكن تحديد دالة key والترتيب العكسي.
| التصنيف | الدوال المدمجة |
|---|---|
| النوع | دالة مدمجة |
| إصدار بايثون | all |
📝 الصياغة
sorted(iterable, *, key=None, reverse=False)
⚙️ المعاملات
| iterable مطلوب | The iterable to sort. |
|---|---|
| key اختياري | Key function applied to each element.(القيمة الافتراضية:None) |
| reverse اختياري | Sort descending when True.(القيمة الافتراضية:False) |
القيمة المُعادة:A new sorted list; the original is unchanged.
💥 الاستثناءات
TypeError— Raised when elements cannot be compared.
▶ مثال
عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:
المخرجات:
[1, 2, 3]
['apple', 'banana']
🏷️ دوال مدمجة ذات صلة
💡 حالات ذات صلة
المزيد من الحالات قادم قريباً — تابعونا.
❓ أسئلة شائعة
Qما الفرق بين sorted() و list.sort()؟
Asorted() تُرجع قائمة جديدة وتبقي الكائن الأصلي دون تغيير، وتعمل على أي كائن قابل للتكرار؛ lst.sort() تفرز في موضعها وتُرجع None وتنطبق على القوائم فقط.
Qهل تتغير القائمة الأصلية بعد الفرز؟
Aلا. sorted([3, 1, 2]) تُرجع قائمة جديدة [1, 2, 3] بينما تبقى الأصلية [3, 1, 2]؛ للتعديل في الموضع استخدم lst.sort().
Qماذا تعني sorted(lst, key=len, reverse=True)؟
Aفرز تنازلي حسب طول السلسلة: key يحدد أساس المقارنة (محسوب مرة لكل عنصر) وreverse=True تعني تنازليًا.
Qلماذا يُثير sorted([1, 'a']) خطأ TypeError؟
Aلا ترتیب معرّف بين int و str، فلا يمكن فرز الأنواع المختلطة؛ تأكد قبل الفرز من اتساق أنواع العناصر أو وفّر key.