في هذا البرنامج التعليمي سنتعلم مجموعة Python. في مقالنا السابق تعلمنا عن سلسلة Python. يمكنك تعلمها من هنا.
مجموعة Python
مجموعة Python هي مجموعة غير مرتبة من العناصر الفريدة. فلنفترض أن لديك قائمة وتحتاج فقط إلى العناصر الفريدة من القائمة يمكنك استخدام مجموعة Python. بالمثل، إذا كنت بحاجة إلى العناصر الفريدة فقط من المدخلات، يمكن لمجموعة Python مساعدتك في القيام بذلك. يمكنك إضافة أو حذف العناصر منها. يمكنك تهيئة مجموعة عن طريق وضع العناصر بين الأقواس السندية. مثل السلاسل الأخرى، يمكن أن تحتوي مجموعة واحدة على عناصر من أنواع بيانات متعددة. علاوة على ذلك، يمكنك أيضًا إنشاء مجموعة من قائمة باستخدام الدالة set(). ستعطيك المثال التالي بعض الفكرة حول تهيئة مجموعة.
# مجموعة تحتوي على نوع بيانات واحد
set1 = {1, 2, 3, 4, 2, 3, 1}
print(set1)
# مجموعة تحتوي على أنواع بيانات متعددة
set2 = {1, 2, 3, (1, 2, 3), 2.45, "Python", 2, 3}
print(set2)
# إنشاء مجموعة من قائمة
theList = [1, 2, 3, 4, 2, 3, 1]
theSet = set(theList)
print(theSet)
سيكون الإخراج
================== RESTART: /home/imtiaz/set1.py ==================
set([1, 2, 3, 4])
set([1, 2, 3, 2.45, 'Python', (1, 2, 3)])
set([1, 2, 3, 4])
>>>
إضافة عناصر إلى مجموعة Python
في المثال السابق، تعلمنا كيفية تهيئة مجموعة Python مباشرة. لنفترض أننا نحتاج إلى إضافة عنصر إلى المجموعة، يمكننا القيام بذلك باستخدام وظيفة add(). ولكن هذه الوظيفة يمكنها إضافة عنصر واحد فقط. إذا كنت ترغب في إضافة عناصر قابلة للتكرار مثل قائمة أو مجموعة، يمكنك القيام بذلك باستخدام وظيفة update(). سيساعدك المثال التالي على فهم الأمر
#تهيئة مجموعة فارغة
theSet = set()
#إضافة عنصر واحد باستخدام وظيفة add()
theSet.add(1)
theSet.add(2)
theSet.add(3)
theSet.add(2)
#إضافة نوع بيانات آخر
theSet.add('hello')
#إضافة عناصر قابلة للتكرار باستخدام وظيفة update()
theSet.update([1,2,4,'hello','world']) #list as iterable element
theSet.update({1,2,5}) #set as iterable element
print(theSet)
سيكون إخراج الشيفرة التالية كالتالي
================== RESTART: /home/imtiaz/set_new.py ==================
set([1, 2, 3, 4, 5, 'world', 'hello'])
>>>
إزالة العناصر من مجموعة Python
هناك وظيفتين لإزالة العناصر من مجموعة Python. الأولى هي وظيفة remove() والأخرى هي وظيفة discard(). إذا كان العنصر الذي تحاول إزالته غير موجود في المجموعة، ستثير وظيفة remove() استثناءً لهذا الغرض. ولكن وظيفة discard لن تفعل شيئًا من هذا القبيل. ستظهر الشيفرة التالية ذلك
theSet = {1,2,3,4,5,6}
#إزالة الرقم 3 باستخدام وظيفة discard()
theSet.discard(3)
print(theSet)
#استدعاء وظيفة discard() مرة أخرى لإزالة الرقم 3
theSet.discard(3) #This won't raise any exception
print(theSet)
#استدعاء وظيفة remove() لإزالة الرقم 5
theSet.remove(5)
print(theSet)
#استدعاء وظيفة remove() لإزالة الرقم 5 again
theSet.remove(5) #this would raise exception
print(theSet) #this won't be printed
ستجد أن الإخراج يكون كالتالي،
================== RESTART: /home/imtiaz/set_del.py ==================
set([1, 2, 4, 5, 6])
set([1, 2, 4, 5, 6])
set([1, 2, 4, 6])
Traceback (most recent call last):
File "/home/imtiaz/set_del.py", line 16, in
theSet.remove(5) #this would raise exception
KeyError: 5
>>>
عمليات مجموعات Python
قد تكون ملمًا ببعض عمليات المجموعات الرياضية مثل الاتحاد والتقاطع والفارق. يمكننا أيضًا القيام بذلك باستخدام مجموعات Python. الآن، سنتعلم كيفية القيام بذلك.
اتحاد مجموعات Python
الاتحاد هو العملية التي تدمج مجموعتين. وهذا يعني أن الاتحاد سينشئ مجموعة أخرى تحتوي على جميع العناصر الفريدة من مجموعتين. على سبيل المثال، {1، 2، 3، 4} و {2، 3، 5، 7} هما مجموعتان. إذا قمنا بعملية الاتحاد بينهما، نحصل على {1، 2، 3، 4، 5، 7}. يمكننا القيام بذلك باستخدام وظيفة union().
تقاطع مجموعات Python
مرة أخرى، التقاطع هو العملية التي تحصل على العناصر المشتركة الفريدة في مجموعتين. على سبيل المثال، {1، 2، 3، 4} و {2، 3، 5، 7} هما مجموعتان. إذا قمنا بتقاطعهما، نحصل على {2، 3}. تتم عملية التقاطع باستخدام وظيفة intersection().
فرق مجموعات Python
الآن، عملية الفرق تقارن بين مجموعتين وتنشئ مجموعة جديدة تحتوي على العناصر من المجموعة A التي ليست مشتركة في المجموعة B. لنفترض أن لدينا مجموعتان، A = {1، 2، 3، 4} و B = {2، 3، 5، 7}. ثم، ستقوم عملية A – B بإنشاء {1، 4}. علاوة على ذلك، ستقوم B – A بإنشاء {5، 7}. تتم عملية الفرق باستخدام الدالة difference()… الشفرة التالية ستعطيك فكرة حول كيفية القيام بهذه العمليات على المجموعات في برمجة Python.
A = {1, 2, 3, 4} #initializing set A
B = {2, 3, 5, 7} #initializing set B
union_operation = A.union(B)
print("A union B :")
print(union_operation)
intersection_operation = A.intersection(B)
print("A intersection B :")
print(intersection_operation)
difference_operation = A.difference(B)
print("A-B :")
print(difference_operation)
difference_operation = B.difference(A)
print("B-A :")
print(difference_operation)
الناتج الذي ستحصل عليه سيكون مشابهًا لهذا
================== RESTART: /home/imtiaz/set_op.py ==================
A union B :
set([1, 2, 3, 4, 5, 7])
A intersection B :
set([2, 3])
A-B :
set([1, 4])
B-A :
set([5, 7])
>>>
هذا كل شيء لليوم. نأمل أن تتعلمت جيدًا عن مجموعة Python. لأي استفسار آخر يمكنك كتابة استفسارك في خانة التعليقات. سنقوم بالرد عليك. المرجع: التوثيق الرسمي
Source:
https://www.digitalocean.com/community/tutorials/python-set