Problem

6/8

الفرز في بايثون

Theory Click to read/hide

طرق الفرز المضمنة & nbsp؛

تحتوي لغة Python على وظيفة مدمجة للفرز السريع تسمى Sorted () و sort () . & nbsp؛ & nbsp؛ تستخدم Timsort .
ضع في اعتبارك استخدام وظائف الفرز المضمنة.
1) الحصول على مصفوفة جديدة B تطابق المصفوفة A مرتبة ترتيبًا تصاعديًا (افتراضيًا ، الفرز بترتيب تصاعدي): B = مصنفة (A) 2) الحصول على مصفوفة جديدة B تطابق المصفوفة A مرتبة ترتيبًا تنازليًا: ب = مرتبة (أ ، عكسي = صحيح) عكس - مترجم من اللغة الإنجليزية & quot؛ عكس & quot ؛.

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

Problem

إعطاء مصفوفة من أرقام N .
فرز المصفوفة باستخدام طرق الفرز المضمنة.
املأ الثغرات في البرنامج.


نبسب ؛