طرق الفرز المضمنة & nbsp؛
تحتوي لغة Python على وظيفة مدمجة للفرز السريع تسمى
Sorted ()
و
sort ()
. & nbsp؛ & nbsp؛ تستخدم
Timsort
.
ضع في اعتبارك استخدام وظائف الفرز المضمنة.
1) الحصول على مصفوفة جديدة
B
تطابق المصفوفة
A
مرتبة ترتيبًا تصاعديًا (افتراضيًا ، الفرز بترتيب تصاعدي):
B = مصنفة (A)
2) الحصول على مصفوفة جديدة B
تطابق المصفوفة A
مرتبة ترتيبًا تنازليًا:
ب = مرتبة (أ ، عكسي = صحيح) pre>
عكس - مترجم من اللغة الإنجليزية & quot؛ عكس & quot ؛.
3) لإجراء فرز غير قياسي ، يلزم وجود مفتاح فرز - الوسيطة key
.
للفرز بترتيب تصاعدي حسب آخر رقم من الرقم ، سيكون المفتاح هو آخر رقم من الرقم.
للقيام بذلك ، تحتاج إلى كتابة دالة تعيد المفتاح المطلوب إلينا - في حالتنا ، الرقم الأخير من الرقم.
# وظيفة تُرجع مفتاح الفرز
# - الرقم الأخير من الرقم
def lastDigit (n):
عودة ن٪ 10
B = تم الفرز (A ، مفتاح = lastDigit)
4) استخدام وظيفة لامدا strong> - بدون اسم.
إذا كنت لا ترغب في كتابة وظيفة منفصلة ، بسبب بساطتها ، فيمكنك استخدام ما يسمى بوظائف lambda. تتم كتابة هذه الوظائف مباشرة عند استدعائها في المعلمة key
.
B = تم الفرز (A، key = lambda x: x٪ 10)
5) إذا كنت بحاجة إلى فرز المصفوفة "في مكانها" (بدون تخصيص مصفوفة إضافية) ، من الأفضل استخدام sort ()
.
طريقة
على سبيل المثال ، يبدو ترتيب المصفوفة A
حسب الرقم الأخير بترتيب تنازلي على النحو التالي:
A.sort (key = lambda x: x٪ 10، reverse = True)