الانتقال إلى المحتوى الرئيسي

بايثون: كيفية فرز أمثلة وتفسيرات رمز المجموعة

تقدم بايثون العديد من الاحتمالات للعمل مع البيانات ، بما في ذلك فرزها. أحد أكثر أنواع البيانات شيوعا هو المجموعة ، وهي مجموعة مرتبة من الكائنات غير قابلة للتغيير بعد الإنشاء. على عكس مجموعات بايثون الأخرى ، توبل لديها ميزات الفرز الخاصة بها التي نحتاج إلى التعرف على أنفسنا.

يتم فرز المجموعة حسب قيم العناصر الموجودة بداخلها. في نفس الوقت ، بشكل افتراضي ، يتم الفرز بترتيب تصاعدي. ومع ذلك ، في بايثون ، من الممكن إعداد فرز الصفوف وفقا لمعايير أخرى — بترتيب تنازلي أو أبجديا أو باستخدام وظيفة مقارنة مخصصة.

في هذه المقالة ، سنلقي نظرة على الطرق المختلفة لفرز المجموعة في بايثون ، وتقديم أمثلة على التعليمات البرمجية وشرح كل منها بالتفصيل. سوف تتعلم عن فرز الصفوف باستخدام وظائف بايثون المدمجة ، وستتعلم أيضا كيفية إنشاء وظائف المقارنة الخاصة بك لتخصيص فرز الصفوف وفقا لاحتياجاتك.

  1. بايثون: فرز الصفوف
  2. المفاهيم الأساسية لفرز الصفوف في بايثون
  3. 1. باستخدام المدمج في فرز () وظيفة
  4. 2. باستخدام طريقة الفرز ()
  5. 3. باستخدام الوسيطة الرئيسية
  6. مثال على فرز الصفوف باستخدام الدالة المدمجة المصنفة()
  7. فرز الصفوف باستخدام طريقة الفرز()
  8. مثال على فرز الصفوف باستخدام وظيفة لامدا
  9. سؤال وجواب
  10. كيف أقوم بفرز المجموعة في بايثون?
  11. كيف أقوم بفرز المجموعة بترتيب تنازلي?
  12. هل من الممكن لفرز توبل باستخدام نوع () طريقة?
  13. كيف أقوم بفرز المجموعة حسب قيم العناصر داخل المجموعة?
  14. هل من الممكن فرز مجموعة تحتوي على عناصر من أنواع مختلفة?

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

المجموعة في بايثون هي تسلسل غير قابل للتغيير ومرتب للعناصر مفصولة بفواصل ومحاطة بين قوسين.

في بعض الحالات ، تحتاج إلى فرز المجموعة. هناك عدة طرق لفرز المجموعة في بايثون:

  • باستخدام المدمج في فرز () وظيفة
  • ، وتحويل المجموعة إلى قائمة ، وفرز القائمة ، والتحويل مرة أخرى إلى المجموعة
  • باستخدام طريقة الفرز ()

1. باستخدام المدمج

يقبل مجموعة أو تسلسل آخر ، ويقوم بالفرز ، ويعيد قائمة مرتبة جديدة. تبقى المجموعة الأصلية دون تغيير.

بلدي = (3, 1, 5, 2, 4)

تصنيف = فئة (مرتبة (زوجي))

طباعة (فرز مزدوج)

ستكون النتيجة:

(1, 2, 3, 4, 5)

2. تحويل توبل إلى قائمة ، قائمة الفرز وتحويل مرة أخرى إلى توبل

.

بلدي = (3, 1, 5, 2, 4)

قائمة مصنفة = مرتبة (قائمة (صفحتي))

تصنيف = فئة (قائمة مصنفة)

طباعة (فرز مزدوج)

ستكون النتيجة هي نفسها:

(1, 2, 3, 4, 5)

3. باستخدام

لفرزها. بعد ذلك ، ستحتوي المجموعة على قائمة مرتبة.

بلدي = (3, 1, 5, 2, [7, 6])

[4].فرز()

طباعة

ستكون النتيجة:

(3, 1, 5, 2, [6, 7])

لاحظ أنه في هذه الحالة ، تتغير القائمة داخل المجموعة ، وليس المجموعة نفسها.

الآن لديك عدة طرق لأداء فرز الصفوف في بيثون.

المفاهيم الأساسية لفرز الصفوف في بايثون

في بايثون ، المجموعة هي نوع بيانات غير قابل للتغيير ومرتب يمكن أن يحتوي على أنواع مختلفة من الكائنات. واحدة من الإجراءات الأكثر شيوعا التي قد تحتاج إلى القيام به مع توبل هو فرزها.

يوفر بيثون عدة طرق لفرز توبل. وهي تستند إلى مقارنة تسمح لك بإنشاء علاقات ترتيب بين عناصر المجموعة.

1. باستخدام المدمج في فرز () وظيفة

يوفر بيثون المدمج في فرز () وظيفة التي يمكن استخدامها لفرز توبل. يقوم بإرجاع قائمة جديدة مع عناصر المجموعة المصنفة. ميزة هذه الطريقة هي أنها لا تغير المجموعة الأصلية.

مثال:

الفاكهة = ('التفاح' ، 'الموز' ، 'الكرز' ، 'تاريخ')

فرز_فاكهة = فرز_فاكهة

طباعة (فرز_فاكهة)

خاتمة:

['التفاح' ، 'الموز' ، 'الكرز' ، 'تاريخ']

2. باستخدام طريقة الفرز ()

توبل في بيثون هو نوع بيانات غير قابل للتغيير ، لذلك لا يمكن استخدام طريقة الفرز() إلا لقائمة ، والتي يمكن تحويلها إلى توبل.

مثال:

قائمة الفواكه = ['التفاح' ، 'الموز' ، 'الكرز' ، 'تاريخ']

قائمة الفاكهة.فرز()

فاكهة مصنفة = مجموعة (قائمة فواكه)

طباعة (فرز_فاكهة)

الناتج:

('التفاح' ، 'الموز' ، 'الكرز' ، 'تاريخ')

3. باستخدام الوسيطة الرئيسية

يمكنك تمرير الوسيطة الرئيسية إلى الدالة المصنفة () وطريقة الفرز () ، والتي تحدد الوظيفة المستخدمة لتحديد مفتاح الفرز. يجب أن تأخذ الوظيفة الرئيسية وسيطة واحدة وتعيد مفتاح فرز لكل عنصر من عناصر المجموعة.

مثال:

الفاكهة = ('التفاح' ، 'الموز' ، 'الكرز' ، 'تاريخ')

فرز_فاكهة = فرز_فاكهة ، مفتاح = لامدا س: لين (س))

طباعة (فرز_فاكهة)

خاتمة:

['تاريخ' ، 'التفاح' ، 'الكرز' ، 'الموز']

في هذا المثال ، نقوم بفرز عناصر المجموعة حسب طولها. تقوم وظيفة لامدا س:لين(س) بإرجاع طول كل عنصر من عناصر المجموعة ، والذي يستخدم كمفتاح فرز.

باستخدام هذه المفاهيم الأساسية يجعل من السهل لفرز توبل في بيثون ، اعتمادا على متطلبات محددة. رعاية توبل الأصلي واختيار الطريقة الأنسب لمهمتك.

مثال على فرز الصفوف باستخدام الدالة المضمنة المصنفة()

، نوع بيانات المجموعة في بايثون غير قابل للتغيير ومرتب ، مما يجعله مفيدا لتخزين وفرز مجموعات العناصر المطلوبة.

لفرز توبل في بيثون ، يمكنك استخدام المدمج في فرز () وظيفة. تقوم الدالة المصنفة () بإرجاع قائمة مرتبة جديدة ، والتي يمكن تحويلها مرة أخرى إلى مجموعة إذا لزم الأمر.

يظهر أدناه مثال على استخدام الدالة المصنفة () لفرز المجموعة:

# إنشاء مجموعة لم يتم فرزها

تبل_البيانات = (10, 5, 3, 1, 8)

# استخدام الدالة المصنفة () لفرز المجموعة

فرز_ثنائية = فرز_البيانات)

# إخراج المجموعة المصنفة

طباعة (فرز مزدوج)

في هذا المثال ، نقوم بإنشاء مجموعة غير مصنفة باستخدام الأقواس والفواصل. ثم نستخدم الدالة المصنفة () ، ونمرر المجموعة التي لم يتم فرزها إليها كوسيطة. تقوم الدالة المصنفة() بفرز عناصر المجموعة بترتيب تصاعدي وإرجاع قائمة مرتبة جديدة. أخيرا ، نقوم بإخراج المجموعة المصنفة باستخدام وظيفة الطباعة ().

ستكون نتيجة تنفيذ هذا الرمز كما يلي:

[1, 3, 5, 8, 10]

كما ترى من المثال ، تقوم الدالة المصنفة() بفرز عناصر المجموعة بترتيب تصاعدي افتراضيا. إذا كنت بحاجة إلى الفرز بترتيب عكسي ، فيمكنك استخدام الوسيطة العكسية=الحقيقية عند استدعاء الدالة المصنفة (). على سبيل المثال:

# استخدام الدالة المصنفة () لفرز المجموعة بترتيب عكسي

فرز_ثنائي = فرز_البيانات ، عكس = صحيح)

# الإخراج فرز توبل في ترتيب عكسي

طباعة (فرز مزدوج)

ستكون نتيجة تنفيذ هذا الرمز كما يلي:

[10, 8, 5, 3, 1]

وبالتالي ، فإن وظيفة فرزها () هي أداة مريحة وقوية لفرز توبل في بيثون.

فرز الصفوف باستخدام الفرز()

طريقة تتيح لك طريقة الفرز () فرز العناصر في المجموعة بترتيب تصاعدي أو تنازلي. يقوم بتعديل المجموعة الأصلية ، لذلك يجب أن تكون حذرا عند استخدامه.

هنا مثال على استخدام طريقة الفرز ():

الفواكه = ('التفاح' ، 'البرتقال' ، 'الموز' ، 'الكيوي')

الفواكه.فرز()

طباعة (الفواكه)

الناتج:

('التفاح' ، 'الموز' ، 'الكيوي' ، 'البرتقال')

كما ترى ، تم فرز عناصر المجموعة أبجديا.

إذا كنت تريد فرز المجموعة بترتيب تنازلي ، فيمكنك استخدام المعلمة العكسية لطريقة الفرز (). تعيين إلى صحيح:

الفواكه = ('التفاح' ، 'البرتقال' ، 'الموز' ، 'الكيوي')

الفواكه.فرز (عكس = صحيح)

طباعة (الفواكه)

خاتمة:

('البرتقال' ، 'الكيوي' ، 'الموز' ، 'التفاح')

يتم الآن فرز عناصر المجموعة بترتيب عكسي.

يمكن أن تعمل طريقة الفرز () أيضا مع المجموعات التي تحتوي على أرقام. في هذه الحالة ، سيتم فرز العناصر بترتيب تصاعدي أو تنازلي للقيمة الرقمية.

هنا مثال:

أرقام = (5, 2, 8, 1, 6)

أرقام.فرز()

طباعة (أرقام)

الناتج:

(1, 2, 5, 6, 8)

في هذه الحالة ، تم فرز القيم الرقمية بترتيب تصاعدي.

يمكنك أيضا استخدام المعلمة العكسية لفرز القيم الرقمية بترتيب تنازلي:

أرقام = (5, 2, 8, 1, 6)

أرقام.فرز (عكس = صحيح)

طباعة (أرقام)

الناتج:

(8, 6, 5, 2, 1)

يتم الآن فرز القيم الرقمية بترتيب عكسي.

مثال على فرز الصفوف باستخدام وظيفة لامدا

يوفر بيثون قدرات قوية فرز البيانات ، بما في ذلك الفرز توبل. طريقة واحدة لفرز توبل هو استخدام وظيفة لامدا.

تسمح لك وظيفة لامدا بإنشاء وظائف مجهولة (غير مسماة) يمكن استخدامها كوسائط لوظائف أخرى ، بما في ذلك وظيفة الفرز.

. كوسيطة ثانية ، حدد المجموعة المراد فرزها.

فيما يلي مثال على فرز الصفوف باستخدام وظيفة لامدا:

البيانات = (('التفاح' ، 5) ، ('الموز' ، 2) ، ('البرتقال' ، 7) ، ('العنب' ، 3))

# الفرز حسب مجموعة العنصر الثاني (رقم)

البيانات المصنفة = مرتبة (بيانات ، مفتاح = لامدا س: س [1])

طباعة (بيانات مصنفة)

في هذا المثال ، لدينا بيانات توبلي ، والتي تحتوي على أربعة عناصر. كل عنصر عبارة عن مجموعة ذات قيمتين: القيمة الأولى هي اسم الثمرة ، والثانية هي عدد الثمار.

نستخدم وظيفة لامدا لتحديد معايير الفرز. في هذه الحالة ، نريد فرز المجموعة حسب العنصر الثاني ، أي حسب عدد الثمار. نتيجة لذلك ، نحصل على مجموعة جديدة مصنفة_البيانات ، مرتبة بترتيب تصاعدي لعدد الثمار.

سيكون إخراج البرنامج على النحو التالي:

[('الموز' ، 2) ، ('العنب' ، 3) ، ('التفاح' ، 5) ، ('البرتقال' ، 7)]

كما ترون ، تم فرز توبل في ترتيب تصاعدي لعدد من الفواكه.

وهكذا ، وذلك باستخدام وظيفة لامدا يسمح لك بسهولة ومرونة فرز توبل وفقا للمعايير المحددة.

سؤال وجواب

كيف أقوم بفرز المجموعة في بايثون?

لفرز توبل في بيثون ، يمكنك استخدام وظيفة فرزها (). تقوم بإرجاع قائمة مرتبة جديدة ، مع ترك المجموعة الأصلية دون تغيير:

كيف أقوم بفرز المجموعة بترتيب تنازلي?

لفرز المجموعة بترتيب تنازلي ، يمكنك استخدام المعلمة العكسية=الحقيقية للدالة المصنفة (). يفعل الفرز في ترتيب عكسي:

هل من الممكن لفرز توبل باستخدام نوع () طريقة?

لا ، لا تعمل طريقة الفرز () مع السلاسل والصفوف وأنواع البيانات الأخرى غير القابلة للتغيير. يمكنك استخدام الدالة المصنفة () لفرز المجموعة.

كيف أقوم بفرز المجموعة حسب قيم العناصر داخل المجموعة?

لفرز المجموعة حسب قيم العناصر الموجودة بالداخل ، يمكنك استخدام المعلمة الرئيسية للدالة المصنفة (). يسمح لك بتحديد وظيفة سيتم تطبيقها على كل عنصر قبل الفرز:

هل من الممكن فرز مجموعة تحتوي على عناصر من أنواع مختلفة?

نعم ، يمكن فرز المجموعة حتى لو كانت تحتوي على عناصر من أنواع مختلفة. سيتم الفرز بناء على أنواع بيانات العناصر.