طرق الفرز المضمنة & 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)