• 0

كيف أتأكد من مساواة قائمتين غير مرتبتين في بايثون؟

أريد طريقة سهلة للتأكد من مساواة قائمتين غير مرتبتين في بايثون، فما هي أسهل طريقة لفعل ذلك؟
مثال على ما أريده:

['one', 'two', 'three'] == ['one', 'two', 'three'] :  true
['one', 'two', 'three'] == ['one', 'three', 'two'] :  true
['one', 'two', 'three'] == ['one', 'two', 'three', 'three'] :  false
['one', 'two', 'three'] == ['one', 'two', 'three', 'four'] :  false
['one', 'two', 'three'] == ['one', 'two', 'four'] :  false
['one', 'two', 'three'] == ['one'] :  false

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

هنالك عدّة طرق للتأكد من مساواة قائمتين في بايثون، فبايثون يمتلك نوع بيانات مدمجة تدعى set تم إنشاؤها خصيصا للمجموعات غير المرتبة، لذلك إذا حوّلت كلتا القائمتين إلى set فستتمكن من المقارنة من دون مشاكل لأن النوع set هو نوع غير مرتّب كما في المثال التالي:

set(x) == set(y)

أو يمكنك ببساطة ترتيب هاتين القائمتين ومن ثم المقارنة بشكل عادي عن طريق استخدام دالة sort() أو sorted() كما في المثال التالي:

>>> a = [1,1,2]
>>> b = [1,2,2]
>>> a.sort()
>>> b.sort()
>>> a == b
False

يمكنك اختصار الشيفرة البرمجية السابقة إلى هذه:

sorted(a) == sorted(b)

ملاحظة: إذا لم ترغب بتغيير مواقع عناصر القائمة لكنك تريد عمل ترتيب خيالي فاستخدم sorted.
المصدر

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن