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

السؤال

نشر

أريد مقارنة محتويات مصفوفتي numpy في لغة بايثون، فلقد جربت استخدام طريق المقارنة بـ == لكنها  قامت بمقارنة كل عنصر على حدة كالتالي:

 >>> numpy.array([1,1,1]) == numpy.array([1,1,1])

array([ True,  True,  True], dtype=bool)

فهل هنالك طريقة لمقارنة جميع العناصر مع بعضها وإرجاع قيمة منطقية واحدة فقط؟

Recommended Posts

  • 0
نشر

توجد طريقة قصيرة وسهلة لفعل ذلك في لغة بايثون وذلك عن طريق استخدام دالة all() مع رمز المقارنة == كالتالي:

(A==B).all()

لكن لهذه الطريقة عدة عيوب، فمثلا في حالة كان A أو B فارغا وكان الآخر يحتوي على عنصر فإن الدالة ستُرجع True لأن مقارنة A==B سترجع مصفوفة فارغة ولذلك فإن دالة all() ستُرجع True.
يذكر أنه يوجد عدة دوال مدمجة أخرى يمكنك استخدامها مثل array_equal و allclose و array_equiv وغيرها.

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...