عمليات المجموعات في بايثون

من موسوعة حسوب
(بالتحويل من Python/set-operations)

تقدّم بايثون مجموعة من العمليات الخاصة بالمجموعات والمجموعات الجامدة.

العمليات المشتركة بين المجموعات والمجموعات الجامدة

تدعم المجموعات والمجموعات الجامدة في بايثون العمليات الموضّحة في الجدول التالي:

العملية الوصف ملاحظات
len(s)‎ تعيد الدالة عدد العناصر الموجودة في المجموعة، أو ما يعرف في الرياضيات بالمصطلح cardinality.
x in s يتحقق هذا العامل من أن العنصر x ينتمي إلى المجموعة s.
x not in s يتحقق هذا العامل من أن العنصر x لا ينتمي إلى المجموعة s.
set <= other يتحقّق هذا العامل ممّا إذا كان كل عنصر في المجموعة set موجودًا في المجموعة other.

أي يتحقّق من كون المجموعة set مجموعة جزئية subset للمجموعة other.

تؤدي الدالة issubset()‎ الوظيفة نفسها.
set < other يتحقّق هذا العامل ممّا إذا كانت المجموعة setمجموعة جزئية فعلية (proper subset) للمجموعة other.

يعادل هذا العامل العبارة: set <= other and set != other.

set >= other يتحقّق هذا العامل ممّا إذا كان كل عنصر في المجموعة other موجودًا في المجموعة set.

أي يتحقّق من كون المجموعة set مجموعة فائقة superset للمجموعة other.

تؤدي الدالة issuperset()‎ الوظيفة نفسها.
set > other يتحقّق هذا العامل ممّا إذا كانت المجموعة setمجموعة فائقة فعلية (proper superset) للمجموعة other.

يعادل هذا العامل العبارة: set >= other and set != other.

set | other يعيد هذا العامل مجموعة جديدة تضمّ عناصر كلا المجموعتين set و other.

أي يعيد المجموعة الناتجة عن اتحاد union المجموعتين.

تؤدي الدالة union()‎ الوظيفة ذاتها.
set & other يعيد هذا العامل مجموعة جديدة تضمّ العناصر المشتركة بين المجموعتين set و other.

أي يعيد المجموعة الناتجة عن تقاطع intersection المجموعتين.

تؤدي الدالة intersection()‎ الوظيفة ذاتها.
set - other يعيد هذا العامل مجموعة جديدة تضمّ العناصر الموجودة في المجموعة set وغير الموجودة في المجموعة other.

أي يعيد المجموعة الناتجة عن الاختلاف difference بين المجموعتين.

تؤدي الدالة difference()‎ الوظيفة ذاتها.
set ^ other يعيد هذا العامل مجموعة جديدة تضمّ العناصر الموجودة في المجموعة set أو المجموعة other ولكن ليس في كليهما.

أي يعيد المجموعة الناتجة عن الاختلاف المتناظر symmetric difference بين المجموعتين.

تؤدي الدالة symmetric_difference()‎ الوظيفة ذاتها.

ملاحظة: تتطلب العوامل المذكورة في الجدول السابق أن تكون معاملاتها من المجموعات حصرًا، أما الدوال المناظرة لهذه العوامل فيمكن أن تتقبّل أي كائن قابل للتكرار iterable كمعامل.

العمليات الخاصة بالمجموعات

نظرًا لكون المجموعات كائنات قابلة للتعديل بخلاف المجموعات الجامدة، فإنّ الأولى تدعم مجموعة من العمليات الخاصة الموضّحة في الجدول التالي:

العملية الوصف ملاحظات
set |= other يحدّث هذا العامل المجموعة set بإضافة عناصر المجموعة other إليها. تؤدي الدالة update()‎ الوظيفة ذاتها.
set &= other يحدّث هذا العامل المجموعة set بالإبقاء على عناصرها وجميع العناصر الموجودة في المجموعة other. تؤدي الدالة intersection_update()‎ الوظيفة ذاتها.
set -= other يحدّث هذا العامل المجموعة set بحذف العناصر الموجودة في المجموعة other. تؤدي الدالة difference_update()‎ الوظيفة ذاتها.
set ^= other يحدّث هذا العامل المجموعة setبالإبقاء على العناصر الموجودة في إحدى المجموعتين ولكن ليس في كليهما. تؤدي الدالة symmetric_difference_update()‎ الوظيفة ذاتها.

مصادر