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

كيفية فرز قائمة حسب الطول في بايثون: طريقة سهلة وأمثلة مفيدة

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

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

أسماء = ['ماريا' ، 'إيفان' ، 'أليكسي' ، 'آنا']

يمكننا فرزها حسب طول العناصر على النحو التالي:

أسماء مصنفة = مرتبة (أسماء ، مفتاح = لين)

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

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

أرقام = [10, 5, 3, 8, 2]

يمكننا فرزها أولا بترتيب تصاعدي ثم بترتيب تنازلي:

أرقام مصنفة = مرتبة (أرقام ، مفتاح = لامدا س: (س ٪ 2 = = 0 ، - س))

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

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

طريقة سهلة لفرز قائمة حسب الطول في بايثون

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

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

في ما يلي مثال على التعليمات البرمجية التي تقوم بفرز قائمة قائمتي حسب طول عناصرها:

قائمتي = ['تفاح' ، 'بطيخ' ، 'موز' ، 'أناناس']

قائمة الفرز = مرتبة (قائمتي ، المفتاح = لين)

طباعة (قائمة مصنفة)

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

['التفاح' ، 'الموز' ، 'البطيخ' ، 'الأناناس']

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

تحتوي القائمة المصنفة على عناصر بترتيب تصاعدي لطولها.

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

قائمتي = ['تفاح' ، 'بطيخ' ، 'موز' ، 'أناناس']

قائمة مصنفة = مرتبة (قائمتي ، مفتاح = لين ، عكس = صحيح)

طباعة (قائمة مصنفة)

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

['الأناناس' ، 'التفاح' ، 'الموز' ، 'البطيخ']

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

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

أمثلة مفيدة لفرز قائمة حسب الطول في بايثون

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

فرز قائمة السلاسل حسب الطول

. يتيح لك ذلك فرز عناصر القائمة حسب طولها بترتيب تصاعدي:

سلاسل = ["تفاحة" ، " موز " ، "كرز" ، "تاريخ"]

سلاسل مصنفة = مرتبة (سلاسل ، مفتاح = لين)

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

الناتج:

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

سوف تحتوي على سلاسل مرتبة بترتيب تصاعدي لطولها.

فرز قائمة السلاسل حسب الطول بترتيب تنازلي

:

سلاسل = ["تفاحة" ، " موز " ، "كرز" ، "تاريخ"]

سلاسل مصنفة = مرتبة (سلاسل ، مفتاح = لين ، عكس = صحيح)

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

الناتج:

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

وسوف تحتوي على سلاسل مرتبة في ترتيب تنازلي من طولها.

فرز قائمة القوائم حسب طول العنصر الثاني

:

lists = [["apple", "red"], ["banana", "yellow"], ["cherry", "red"], ["date", "brown"]]

sorted_lists = sorted(lists, key=lambda x: len(x[1]))

print(sorted_lists)

Вывод:

[['date', 'brown'], ['apple', 'red'], ['cherry', 'red'], ['banana', 'yellow']]

будет содержать списки, отсортированные по возрастанию длины их второго элемента.

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

سؤال وجواب

كيف يمكنني فرز قائمة حسب الطول في بيثون?

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

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

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

هل هناك طريقة لفرز القائمة حسب طول العناصر بترتيب تنازلي?

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

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

نعم ، يمكنك. طريقة ' فرز ()` كما يسمح لك لفرز القائمة حسب طول العناصر. في هذه الحالة ، يمكنك أيضا استخدام وسيطة 'مفتاح = لين'. على سبيل المثال: `قائمتي.فرز (مفتاح = لين)'.

كيف يمكنني فرز القائمة حسب طول العناصر, تجاهل القضية?

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

هل من الممكن فرز القائمة حسب طول الخط, تجاهل المسافات في البداية والنهاية?

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