اذهب إلى المحتوى

السؤال

نشر

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

['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

Recommended Posts

  • 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.
المصدر

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...