الكلاس set
الـ set
عبارة عن مصفوفة ليس لها حجم ثابت, يمكنها تخزين قيم من مختلف الأنواع في وقت واحد, و لا يمكن تبديل أو حذف قيمها بشكل مباشر.
كما أنه لا يمكنها أن تحتوي على قيم مكررة. أي إذا وضعت فيها نفس القيمة مرتين فإنه سيتم تخزين قيمة واحدة فيها و ليس قيمتين.
النوع set
لا يحافظ على الترتيب الذي تم فيه إدخال العناصر لأنه لا يضيف رقم Index لكل عنصر كما يفعل النوع list
و النوع tuple
.
لذلك لا تستغرب إذا قمت بتخزين مجموعة قيم بداخل set
ثم حاولت عرضها. لأنك في كل مرة ستقوم فيها بتشغيل البرنامج من جديد ستتبدل أماكن القيم.
طريقة تعريف set
لتعريف set
نستخدم الرمز { }
.
بداخل هذا الرمز يمكنك تمرير القيم بشكل مباشر له بشرط وضع فاصلة بين كل عنصرين.
في المثال التالي قمنا بتعريف set
وضعنا فيه أعداد صحيحة.
طريقة تعريف set
فيه أعداد صحيحة
numbers = {10, 20, 30, 40, 50} # يحتوي على أعداد صحيحة فقط numbers إسمه set هنا قمنا بتعريف print(numbers) # ( أي كما قمنا بتعريفه ) كما هو numbers هنا قمنا بعرض محتوى الكائن
•سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل لأننا لا نعرف كيف سيتم ترتيب العناصر.
في المثال التالي قمنا بتعريف set
وضعنا فيه نصوص.
كيفية تعريف set
فيه نصوص
names = {'Rami', 'Sara', 'Nada'} # يحتوي على نصوص فقط names إسمه set هنا قمنا بتعريف print(names) # ( أي كما قمنا بتعريفه ) كما هو names هنا قمنا بعرض ما يحتويه الكائن
•سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل لأننا لا نعرف كيف سيتم ترتيب العناصر.
في المثال التالي قمنا بتعريف set
وضعنا فيه أعداد صحيحة و نصوص.
تعريف set
فيه أعداد صحيحة و نصوص
data = {1, 'Mhamad', 'Harmush', 1500} # يحتوي على أعداد صحيحة و نصوص data إسمه set هنا قمنا بتعريف print(data) # ( أي كما قمنا بتعريفه ) كما هو data هنا قمنا بعرض ما يحتويه الكائن
•سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل لأننا لا نعرف كيف سيتم ترتيب العناصر.
في المثال التالي قمنا بتعريف set
وضعنا فيه نصوص و قمنا بتكرار هذه النصوص عن قصد لإثبات فكرة أن النوع set
لا يقوم بتخزين نفس القيمة أكثر من مرة.
المثال الرابع
# يحتوي على نصوص و لاحظ أننا قمنا بتكرار بعض القيم names إسمه set هنا قمنا بتعريف names = {'Rami', 'Rami', 'Rami', 'Nada', 'Nada', 'Ahmad'} # ( أي كما قمنا بتعريفه ) كما هو. لاحظ أنه لا يحتوي على قيم مكررة names هنا قمنا بعرض ما يحتويه الكائن print(names)
•سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل لأننا لا نعرف كيف سيتم ترتيب العناصر.
حذف الـ set
بواسطة الجملة del
في بايثون
الجملة del
تستخدم لحذف الـ set
كما هي من الذاكرة.
شرح طريقة حذف الـ set
بواسطة الجملة del
في المثال التالي قمنا بتعريف set
وضعنا فيه أرقام. بعدها قمنا بحذفه من الذاكرة. بعدها حاولنا أن نعرض ما يحتويه.
# وضعنا فيه أعداد صحيحة arr إسمه set هنا قمنا بتعريف arr = {10, 20, 30, 40, 50} del arr # كما هو من الذاكرة arr هنا قمنا بحذف الكائن print(arr) # و الذي في الأصل قمنا بحذفه من الذاكرة لذلك سيظهر خطأ عند التشغيل arr هنا حاولنا عرض ما يحتويه الكائن
•سنحصل على النتيجة التالية عند التشغيل.
التشييك على قيم الـ ">set
بواسطة العامل in
في بايثون
العامل in
يستخدم للبحث في الـ set
عن قيمة معينة أو للمرور على قيمه عند إستخدامه في الحلقة for
.
إستخدم العامل in
للبحث في الـ set
عن قيمة معينة
في المثال التالي إستخدمنا العامل in
للبحث في الـ set
عن قيمة معينة.
arr = {'Mhamad', 'Rony', 'Rima', 'Sara'} # وضعنا فيه مجموعة قيم نصية arr إسمه set هنا قمنا بتعريف x = 'Rima' # وضعنا فيه نص x هنا قمنا بتعريف متغير إسمه print('Is Rima in the set?') print(x in arr) # True إذا تم إيجادها سيتم عرض .arr في الكائن x هنا سيتم البحث عن قيمة
•سنحصل على النتيجة التالية عند التشغيل.
True
في المثال التالي قمنا بتعريف set
وضعنا فيه نصوص. بعدها قمنا بعرض جميع القيم الموضوعة فيه باستخدام الحلقة for
.
المثال الثاني
# وضعنا فيه قيم نصية تمثل أسماء أشخاص names إسمه set هنا قمنا بتعريف names = {'Rami', 'Sara', 'Nada', 'Mhamad', 'Salem'} # و من ثم سيتم طباعتها x في المتغير names في كل مرة سيتم وضع قيمة عنصر من عناصر الكائن for x in names: print(x)
•سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل لأننا لا نعرف كيف سيتم ترتيب العناصر.
Salem
Mhamad
Rami
Sara
دوال الكلاس set
في بايثون
إسم الدالة مع تعريفها | |
---|---|
add(elem)
تستخدم لإضافة عنصر جديد في الـset الذي قام باستدعائها. |
|
discard(elem)
تستخدم لحذف عنصر محدد من الـset الذي قام باستدعائها.مكان الباراميتر elem نمرر كائن قيمته تطابق قيمة العنصر الذي نريد حذفه. |
|
remove(elem)
تستخدم لحذف عنصر محدد من الـset الذي قام باستدعائها.مكان الباراميتر elem نمرر كائن قيمته تطابق قيمة العنصر الذي نريد حذفه.ملاحظة: الفرق بينها و بين الدالة discard() أنها ترمي الإستثناء KeyError في حال لم يتم إيجاد عنصر في الـset يملك نفس قيمة الكائن الذي مررناه مكان الباراميتر elem . |
|
clear()
تستخدم لحذف جميع عناصر الـset الذي قام باستدعائها. |
|
pop()
تستخدم لإرجاع قيمة عنصر يتم إختياره بشكل عشوائي من الـset الذي قام باستدعائها, بعدها يتم حذفه منه. |
|
copy()
ترجع نسخة من الـset الذي قام باستدعائها. |
|
difference(*sets)
ترجع set جديد يحتوي على العناصر الموجودة في الـset الذي قام باستدعائها و الغير موجودة في كل set نمرره لها مكان الباراميتر sets* . |
|
difference_update(*sets)
تقارن الـset الذي قام باستدعائها مع كل set نمرره لها مكان الباراميتر sets* .بعدها تحذف من الـ set الذي قام باستدعائها العناصر المشتركة بينهم. |
|
intersection(*sets)
ترجع set جديد يحتوي على العناصر الموجودة في الـset الذي قام باستدعائها و في كل set نمرره لها مكان الباراميتر sets* . |
|
intersection_update(*sets)
تقارن الـset الذي قام باستدعائها مع كل set نمرره لها مكان الباراميتر sets* .بعدها تحذف من الـ set الذي قام باستدعائها العناصر الغير مشتركة بينهم. |
|
symmetric_difference(anotherSet)
ترجع set جديد يحتوي على العناصر الغير موجودة في كل من الـset الذي قام باستدعائها و في الـset الذي نمرره لها مكان الباراميتر anotherSet . |
|
symmetric_difference_update(anotherSet)
تقارن الـset الذي قام باستدعائها مع الـset الذي نمرره لها مكان الباراميتر anotherSet .بعدها تضع في الـ set الذي قام باستدعائها العناصر المشتركة بينهما فقط و تمسح أي عناصر آخرى كانت موجودة فيه. |
|
union(sets*)
ترجع set جديد يحتوي على العناصر الموجودة في الـset الذي قام باستدعائها و العناصر الموجودة في كل set نمرره لها مكان الباراميتر sets* . |
|
update(sets*)
تقارن عناصر الـset الذي قام باستدعائها مع العناصر الموجودة في كل set نمرره لها مكان الباراميتر sets* .بعدها تضع في الـ set الذي قام باستدعائها العناصر المشتركة و الغير مشتركة بينهم. |
|
isdisjoint(anotherSet)
تقارن عناصر الـset الذي قام باستدعائها مع عناصر الـset الذي نمرره لها مكان الباراميتر anotherSet .ترجع True إذا كانا لا يحتوان على عناصر قيمها متساوية. و ترجع False إن لم يكونا كذلك. |
|
issuperset(anotherSet)
تقارن عناصر الـset الذي قام باستدعائها مع عناصر الـset الذي نمرره لها مكان الباراميتر anotherSet .ترجع True إذا كانت جميع عناصر الـset الذي نمرره لها مكان الباراميتر anotherSet موجودة في الـset الذي قام باستدعائها.غير ذلك ترجع False . |
|
issubset(anotherSet)
تقارن عناصر الـset الذي قام باستدعائها مع عناصر الـset الذي نمرره لها مكان الباراميتر anotherSet .ترجع True إذا كانت جميع عناصر الـset الذي قام باستدعائها موجودة في الـset الذي نمرره لها مكان الباراميتر anotherSet .غير ذلك ترجع False . |
دوال جاهزة في بايثون للتعامل مع الـ set في بايثون
إسم الدالة مع تعريفها | |
---|---|
len(set)
ترجع عدد صحيح يمثل عدد عناصر الـset الذي نمرره لها عند إستدعاءها. |
|
min(set)
ترجع أصغر قيمة موجودة في الـset الذي نمرره لها عند إستدعاءها. |
|
max(set)
ترجع أكبر قيمة في الـset الذي نمرره لها عند إستدعاءها. |
|
set(sequence)
ترجع نسخة من أي كائن يحتوي مجموعة عناصر نمرره لها عند إستدعاءها ككائن من الكلاس الـset . |
الكلاس set - الدالة add()
تعريفها تستخدم لإضافة عنصر جديد في الـset
الذي قام باستدعائها.
بنا الدالة add()
set.add(elem)
باراميترات الدالة add()
مكان الباراميتر x
نمرر الكائن الذي نريد إضافته في الـset
.
قيمة الإرجاع الدالة add()
لا ترجع قيمة.
مثال على الدالة add()
aSet = {'Apple', 'Banana', 'Mango'} # وضعنا فيه 3 عناصر aSet إسمه set هنا قمنا بتعريف print('Before:', aSet) # aSet هنا قمنا بعرض ما يحتويه الكائن aSet.add('Orange') # aSet هنا قمنا بإضافة نص كعنصر جديد في آخر الكائن print('After: ', aSet) # من جديد aSet هنا قمنا بعرض ما يحتويه الكائن
•سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل لأننا لا نعرف كيف سيتم ترتيب العناصر.
After: {'Apple', 'Orange', 'Banana', 'Mango'}
الكلاس set - الدالة discard()
تعريفها تستخدم لحذف عنصر محدد من الـset
الذي قام باستدعائها.
بنا الدالة discard()
set.discard()
باراميترات الدالة discard()
مكان الباراميتر elem
نمرر كائن قيمته تطابق قيمة العنصر الذي نريد حذفه.
قيمة ارجاع الدالة discard()
لا ترجع قيمة.
المثال الأول
# وضعنا فيه مجموعة أعداد صحيحة aSet إسمه set هنا قمنا بتعريف aSet = {1, 2, 3, 4, 5} # aSet هنا قمنا بحذف العنصر الذي يملك القيمة 1 في الكائن aSet.discard(1) # aSet هنا قمنا بعرض ما يحتويه الكائن print(aSet)
•سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل لأننا لا نعرف كيف سيتم ترتيب العناصر.
المثال الثاني
# وضعنا فيه مجموعة أعداد صحيحة aSet إسمه set هنا قمنا بتعريف aSet = {1, 2, 3, 4, 5} # و بما أنه لا يوجد أي عنصر يملك هذه القيمة لن يحدث أي شيء aSet لحذف عنصر يملك قيمة 10 في الكائن discard() هنا قمنا باستدعاء الدالة aSet.discard(10) # aSet هنا قمنا بعرض ما يحتويه الكائن print(aSet)
•سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل لأننا لا نعرف كيف سيتم ترتيب العناصر.
الكلاس set - الدالة isdisjoint()
تعريف الدالة isdisjoint()
تقارن عناصر الـset
الذي قام باستدعائها مع عناصر الـset
الذي نمرره لها مكان الباراميتر anotherSet
.
ترجع True
إذا كانا لا يحتوان على عناصر قيمها متساوية. و ترجع False
إن لم يكونا كذلك.
بنا الدالة isdisjoint()
set.isdisjoint(anotherSet)
باراميترات الدالة isdisjoint()
مكان الباراميتر anotherSet
نمرر الـset
الذي سيتم مقارنة عناصره مع عناصر الـset
الذي قام باستدعائها.
قيمة ارجاع الدالة isdisjoint()
ترجع True
إذا كان الـset
الذي قام باستدعائها و الـset
الذي مررناه لها لا يحتوان على عنصر واحد على الأقل قيمته متساوية.
غير ذلك ترجع False
.
مثال عملي الدالة isdisjoint()
# وضعنا فيهم أرقام صحيحة set هنا قمنا بتعريف ثلاثة set1 = {1, 2, 3} set2 = {1, 7} set3 = {4, 5, 6} # لأنهما يحتويان على قيم متساوية False سترجع .set2 و set1 عند مقارنة عناصر الكائنين isdisjoint() هنا قمنا بعرض ما سترجعه الدالة print('set1 disjoint set2?', set1.isdisjoint(set2)) # لأنهم لا يحتويان على قيم متساوية True سترجع .set3 و set1 عند مقارنة عناصر الكائنين isdisjoint() هنا قمنا بعرض ما سترجعه الدالة print('set1 disjoint set3?', set1.isdisjoint(set3))
•سنحصل على النتيجة التالية عند التشغيل.
set1 disjoint set3? True
الكلاس set - الدالة issuperset()
تعريف الدالة issuperset()
تقارن عناصر الـset
الذي قام باستدعائها مع عناصر الـset
الذي نمرره لها مكان الباراميتر anotherSet
.
ترجع True
إذا كانت جميع عناصر الـset
الذي نمرره لها مكان الباراميتر anotherSet
موجودة في الـset
الذي قام باستدعائها.
غير ذلك ترجع False
.
بنا الدالة issuperset()
set.issuperset(anotherSet)
باراميترات الدالة issuperset()
مكان الباراميتر anotherSet
نمرر الـset
الذي سيتم مقارنة عناصره مع عناصر الـset
الذي قام باستدعائها.
قيمة ارجاع الدالة issuperset()
ترجع True
إذا كانت جميع عناصر الـset
الذي نمرره لها مكان الباراميتر anotherSet
موجودة في الـset
الذي قام باستدعائها.
غير ذلك ترجع False
.
المثال الأول في الدالة issuperset()
# وضعنا فيهما أرقام صحيحة set هنا قمنا بتعريف إثنين set1 = {1, 2, 3, 4, 5} set2 = {1, 2, 3} # set2 يحتوي على جميع عناصر set1 لأن True سترجع .set2 و set1 عند مقارنة عناصر الكائنين issuperset() هنا قمنا بعرض ما سترجعه الدالة print(set1.issuperset(set2))
•سنحصل على النتيجة التالية عند التشغيل.
المثال الثاني في الدالة issuperset()
# وضعنا فيهما أرقام صحيحة set هنا قمنا بتعريف إثنين set1 = {1, 2, 3} set2 = {1, 2, 3, 4, 5} # set2 لا يحتوي على جميع عناصر set1 لأن False سترجع .set2 و set1 عند مقارنة عناصر الكائنين issuperset() هنا قمنا بعرض ما سترجعه الدالة print(set1.issuperset(set2))
•سنحصل على النتيجة التالية عند التشغيل.
الكلاس set - الدالة issubset()
تعريف الدالة issubset()
تقارن عناصر الـset
الذي قام باستدعائها مع عناصر الـset
الذي نمرره لها مكان الباراميتر anotherSet
.
ترجع True
إذا كانت جميع عناصر الـset
الذي قام باستدعائها موجودة في الـset
الذي نمرره لها مكان الباراميتر anotherSet
.
غير ذلك ترجع False
.
بنا الدالة issubset()
set.issubset(anotherSet)
باراميترات الدالة issubset()
مكان الباراميتر anotherSet
نمرر الـset
الذي سيتم مقارنة عناصره مع عناصر الـset
الذي قام باستدعائها.
قيمة أرجاع الدالة issubset()
ترجع True
إذا كانت جميع عناصر الـset
الذي قام باستدعائها موجودة في الـset
الذي نمرره لها مكان الباراميتر anotherSet
.
غير ذلك ترجع False
.
المثال الأول في الدالة issubset()
# وضعنا فيهما أرقام صحيحة set هنا قمنا بتعريف إثنين set1 = {1, 2, 3} set2 = {1, 2, 3, 4, 5} # set1 يحتوي على جميع عناصر set2 لأن True سترجع .set2 و set1 عند مقارنة عناصر الكائنين issubset() هنا قمنا بعرض ما سترجعه الدالة print(set1.issubset(set2))
•سنحصل على النتيجة التالية عند التشغيل.
المثال الثاني في الدالة issubset()
# وضعنا فيهما أرقام صحيحة set هنا قمنا بتعريف إثنين set1 = {1, 2, 3, 4, 5} set2 = {1, 2, 3} # set1 لا يحتوي على جميع عناصر set2 لأن False سترجع .set2 و set1 عند مقارنة عناصر الكائنين issubset() هنا قمنا بعرض ما سترجعه الدالة print(set1.issubset(set2))
•سنحصل على النتيجة التالية عند التشغيل.
الكلاس set - الدالة clear()
تعريف الدالة clear()
تستخدم لحذف جميع عناصر الـset
الذي قام باستدعائها.
بنا ؤها
set.clear()
باراميترات الدالة clear()
لا تقبل أي باراميتر.
قيمة الإرجاع
لا ترجع قيمة.
مثال في الدالة clear()
# وضعنا فيه 5 عناصر aSet إسمه set هنا قمنا بتعريف aSet = {10, 20, 30, 40, 50} # aSet هنا قمنا بحذف جميع العناصر الموجودة في الكائن aSet.clear() # فارغ set و الذي سيظهر كـ aSet هنا قمنا بعرض ما يحتويه الكائن print('aSet contains:', aSet)
•سنحصل على النتيجة التالية عند التشغيل.
•القيمة set() التي ظهرت في نتيجة التشغيل تعني أن الكائن aSet
عبارة عن set
فارغ لا يحتوي اي قيمة.
الكلاس set - الدالة copy()
تعريفها ترجع نسخة من الـset
الذي قام باستدعائها.
بناؤها
set.copy()
باراميترات الدالة copy()
لا تقبل أي باراميتر.
قيمة ارجاع الدالة copy()
ترجع نسخة من الـset
الذي قام باستدعائها.
مثال على الدالة copy()
# وضعنا فيه 5 عناصر set1 إسمه set هنا قمنا بتعريف set1 = {10, 20, 30, 40, 50} # set2 في الكائن set1 هنا قمنا بنسخ عناصر الكائن set2 = set1.copy() # set2 و set1 هنا قمنا بعرض ما يحتويه الكائن print('set1 contains:', set1) print('set2 contains:', set2)
•سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل لأننا لا نعرف كيف سيتم ترتيب العناصر.
set2 contains: {50, 20, 40, 10, 30}
الكلاس set - الدالة difference()
تعريفها ترجع set
جديد يحتوي على العناصر الموجودة في الـset
الذي قام باستدعائها و الغير موجودة في كل set
نمرره لها مكان الباراميتر sets*
.
بناؤها
set.difference(*sets)
باراميترات الدالة difference()
مكان الباراميتر sets*
نمرر كائن أو أكثر من النوع set
مع الإشارة إلى أنه يجب وضع فاصلة بينهم عند تمرير أكثر من كائن.
قيمة الإرجاع
ترجع set
جديد يحتوي على العناصر الموجودة في الـset
الذي قام باستدعائها و الغير موجودة في كل set
نمرره لها مكان الباراميتر sets*
.
المثال الأول
# وضعنا فيهم أرقام صحيحة set هنا قمنا بتعريف إثنين set1 = {1, 2, 3, 4, 5} set2 = {1, 2, 3} # newSet و وضعناها في الكائن set2 و الغير موجودة في الكائن set1 هنا قمنا بإنشاء نسخة من العناصر الموجودة في الكائن newSet = set1.difference(set2) # newSet هنا قمنا بعرض ما يحتويه الكائن print('newSet contains:', newSet)
•سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل لأننا لا نعرف كيف سيتم ترتيب العناصر.
المثال الثاني
# وضعنا فيهم أرقام صحيحة set هنا قمنا بتعريف ثلاثة set1 = {1, 2, 3, 4, 5, 6} set2 = {1, 2} set3 = {3, 4} # newSet و وضعناها في الكائن set3 و set2 و الغير موجودة في الكائنين set1 هنا قمنا بإنشاء نسخة من العناصر الموجودة في الكائن newSet = set1.difference(set2, set3) # newSet هنا قمنا بعرض ما يحتويه الكائن print('newSet contains:', newSet)
•سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل لأننا لا نعرف كيف سيتم ترتيب العناصر.
الكلاس set - الدالة intersection()
تعريفها ترجع set
جديد يحتوي على العناصر الموجودة في الـset
الذي قام باستدعائها و في كل set
نمرره لها مكان الباراميتر sets*
.
بناؤها
set.intersection(*sets)
باراميترات الدالة intersection()
مكان الباراميتر sets*
نمرر كائن أو أكثر من النوع set
مع الإشارة إلى أنه يجب وضع فاصلة بينهم عند تمرير أكثر من كائن.
قيمة الإرجاع
ترجع set
جديد يحتوي على العناصر الموجودة في الـset
الذي قام باستدعائها و في كل set
نمرره لها مكان الباراميتر sets*
.
المثال الأول
# وضعنا فيهم أرقام صحيحة set هنا قمنا بتعريف إثنين set1 = {1, 2, 3, 4, 5} set2 = {1, 2, 3} # newSet و وضعناها في الكائن set2 و set1 هنا قمنا بإنشاء نسخة من العناصر الموجودة في الكائنين newSet = set1.intersection(set2) # newSet هنا قمنا بعرض ما يحتويه الكائن print('newSet contains:', newSet)
•سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل لأننا لا نعرف كيف سيتم ترتيب العناصر.
المثال الثاني
# وضعنا فيهم أرقام صحيحة set هنا قمنا بتعريف ثلاثة set1 = {1, 2, 3, 4, 5, 6} set2 = {1, 2, 3, 4} set3 = {1, 2, 3} # مع عدم تكرار أي عنصر طبعاً newSet و وضعناها في الكائن set3 و set2 و set1 هنا قمنا بإنشاء نسخة من العناصر الموجودة في الكائنات newSet = set1.intersection(set2, set3) # newSet هنا قمنا بعرض ما يحتويه الكائن print('newSet contains:', newSet)
•سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل لأننا لا نعرف كيف سيتم ترتيب العناصر.
الكلاس set - الدالة pop()
تعريفها تستخدم لإرجاع قيمة عنصر يتم إختياره بشكل عشوائي من الـset
الذي قام باستدعائها, بعدها يتم حذفه منه.
بناؤها
set.pop()
باراميترات الدالة pop()
لا تقبل أي باراميتر.
قيمة الإرجاع
ترجع العنصر الذي تم حذفه من الـset
.
أخطاء محتملة
ترمي الإستثناء TypeError في حال كان الـset
فارغ.
مثال الدالة pop()
# وضعنا فيه 5 عناصر aSet إسمه set هنا قمنا بتعريف aSet = {10, 20, 30, 40, 50} # و عرض قيمته aSet هنا قمنا باستخراج آخر عنصر موجود في الكائن print('Returned element:', aSet.pop()) # aSet هنا قمنا بعرض العناصر المتبقية في الكائن print('Remaining elements:', aSet)
•سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل لأننا لا نعرف كيف سيتم ترتيب العناصر.
Remaining elements: {10, 50, 20, 30}
الكلاس set - الدالة remove()
تعريفها تستخدم لحذف عنصر محدد من الـset
الذي قام باستدعائها.
بناؤها
set.remove(elem)
باراميترات الدالة remove()
مكان الباراميتر elem
نمرر كائن قيمته تطابق قيمة العنصر الذي نريد حذفه.
قيمة الإرجاع
لا ترجع قيمة.
أخطاء محتملة
ترمي الإستثناء KeyError في حال لم يتم إيجاد عنصر في الـset
يملك نفس قيمة الكائن الذي مررناه مكان الباراميتر elem
.
المثال الأول
# وضعنا فيه مجموعة أعداد صحيحة aSet إسمه set هنا قمنا بتعريف aSet = {1, 2, 3, 4, 5} # aSet هنا قمنا بحذف العنصر الذي يملك القيمة 1 في الكائن aSet.remove(1) # aSet هنا قمنا بعرض ما يحتويه الكائن print(aSet)
•سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل لأننا لا نعرف كيف سيتم ترتيب العناصر.
المثال الثاني
# وضعنا فيه مجموعة أعداد صحيحة aSet إسمه set هنا قمنا بتعريف aSet = {1, 2, 3, 4, 5} # عند التشغيل ValueError و بما أنه لا يوجد أي عنصر يملك هذه القيمة سيظهر الخطأ aSet لحذف عنصر يملك قيمة 10 في الكائن remove() هنا قمنا باستدعاء الدالة aSet.remove(10) # aSet هنا قمنا بعرض ما يحتويه الكائن print(aSet)
•سنحصل على النتيجة التالية عند التشغيل.
الكلاس set - الدالة symmetric_difference()
تعريفها ترجع set
جديد يحتوي على العناصر الغير موجودة في كل من الـset
الذي قام باستدعائها و في الـset
الذي نمرره لها مكان الباراميتر anotherSet
.
بناؤها
set.symmetric_difference(anotherSet)
باراميترات الدالة symmetric_difference()
مكان الباراميتر anotherSet
نمرر الـset
الذي سيتم مقارنة عناصره مع عناصر الـset
الذي قام باستدعائها.
قيمة الإرجاع
ترجع set
جديد يحتوي على العناصر الغير موجودة في كل من الـset
الذي قام باستدعائها و في الـset
الذي نمرره لها مكان الباراميتر anotherSet
.
مثال الدالة symmetric_difference()
# وضعنا فيهم أرقام صحيحة set هنا قمنا بتعريف إثنين set1 = {1, 2, 3, 4, 5} set2 = {1, 2, 3} # newSet و وضعناها في الكائن set2 و set1 هنا قمنا بإنشاء نسخة من العناصر الغير موجودة في كل من الكائنين newSet = set1.symmetric_difference(set2) # newSet هنا قمنا بعرض ما يحتويه الكائن print('newSet contains:', newSet)
•سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل لأننا لا نعرف كيف سيتم ترتيب العناصر.
الكلاس set - الدالة symmetric_difference_update()
تعريفها تقارن الـset
الذي قام باستدعائها مع الـset
الذي نمرره لها مكان الباراميتر anotherSet
.
بعدها تضع في الـset
الذي قام باستدعائها العناصر المشتركة بينهما فقط و تمسح أي عناصر آخرى كانت موجودة فيه.
بناؤها
set.symmetric_difference_update(anotherSet)
باراميترات الدالة symmetric_difference_update()
مكان الباراميتر anotherSet
نمرر الـset
الذي سيتم مقارنة عناصره مع عناصر الـset
الذي قام باستدعائها.
قيمة الإرجاع
لا ترجع قيمة.
مثال الدالة symmetric_difference_update()
# وضعنا فيهم أرقام صحيحة set هنا قمنا بتعريف إثنين set1 = {1, 2, 4, 5} set2 = {1, 2, 3, 5, 6, 7} # set1 في الكائن set2 و set1 هنا قمنا بوضع العناصر الغير مشتركة بين الكائنين set1.symmetric_difference_update(set2) # set1 هنا قمنا بعرض ما يحتويه الكائن print('set1 contains:', set1)
•سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل لأننا لا نعرف كيف سيتم ترتيب العناصر.
الكلاس set - الدالة union()
تعريفها ترجع set
جديد يحتوي على العناصر الموجودة في الـset
الذي قام باستدعائها و العناصر الموجودة في كل set
نمرره لها مكان الباراميتر sets*
.
بناؤها
set.union(sets*)
باراميترات الدالة union()
مكان الباراميتر sets*
نمرر كائن أو أكثر من النوع set
مع الإشارة إلى أنه يجب وضع فاصلة بينهم عند تمرير أكثر من كائن.
قيمة الإرجاع
ترجع set
جديد يحتوي على العناصر الموجودة في الـset
الذي قام باستدعائها و العناصر الموجودة في كل الـset
الذي نمرره لها مكان الباراميتر sets*
.
المثال الأول
# وضعنا فيهم أرقام صحيحة عشوائية set هنا قمنا بتعريف إثنين set1 = {1, 2, 3} set2 = {1, 2, 3, 4, 5} # مع عدم تكرار أي عنصر طبعاً newSet و وضعناها في الكائن set2 و set1 هنا قمنا بإنشاء نسخة من جميع العناصر الموجودة في الكائنين newSet = set1.union(set2) # newSet هنا قمنا بعرض ما يحتويه الكائن print('newSet contains:', newSet)
•سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل لأننا لا نعرف كيف سيتم ترتيب العناصر.
المثال الثاني
# وضعنا فيهم أرقام صحيحة عشوائية set هنا قمنا بتعريف ثلاثة set1 = {1, 2, 3, 5, 8, 7} set2 = {7, 2, 3, 5, 6, 1} set3 = {3, 4, 5, 8, 7, 9} # مع عدم تكرار أي عنصر طبعاً newSet و وضعناها في الكائن set3 و set2 و set1 هنا قمنا بإنشاء نسخة من جميع العناصر الموجودة في الكائنات newSet = set1.union(set2, set3) # newSet هنا قمنا بعرض ما يحتويه الكائن print('newSet contains:', newSet)
•سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل لأننا لا نعرف كيف سيتم ترتيب العناصر.
الكلاس set - الدالة update()
تعريفها تقارن عناصر الـset
الذي قام باستدعائها مع العناصر الموجودة في كل set
نمرره لها مكان الباراميتر sets*
.
بعدها تضع في الـset
الذي قام باستدعائها العناصر المشتركة و الغير مشتركة بينهم.
بناؤها
set.update(*sets)
باراميترات الدالة update()
مكان الباراميتر sets*
نمرر كائن أو أكثر من النوع set
مع الإشارة إلى أنه يجب وضع فاصلة بينهم عند تمرير أكثر من كائن.
قيمة الإرجاع
لا ترجع قيمة.
المثال الأول
# وضعنا فيهم أرقام صحيحة set هنا قمنا بتعريف إثنين set1 = {1, 2, 3} set2 = {1, 2, 3, 4, 5} # مع عدم تكرار أي عنصر طبعاً set1 في الكائن set2 و set1 هنا قمنا قمنا بوضع جميع العناصر الموجودة في الكائنين set1.update(set2) # set1 هنا قمنا بعرض ما يحتويه الكائن print('set1 contains:', set1)
•سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل لأننا لا نعرف كيف سيتم ترتيب العناصر.
المثال الثاني
# وضعنا فيهم أرقام صحيحة عشوائية set هنا قمنا بتعريف ثلاثة set1 = {1, 2, 3, 5, 8, 7} set2 = {7, 2, 3, 5, 6, 1} set3 = {3, 4, 5, 8, 7, 9} # مع عدم تكرار أي عنصر طبعاً set1 في الكائن set3 و set2 و set1 هنا قمنا قمنا بوضع جميع العناصر الموجودة في الكائنات set1.update(set2, set3) # set1 هنا قمنا بعرض ما يحتويه الكائن print('set1 contains:', set1)
•سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل لأننا لا نعرف كيف سيتم ترتيب العناصر.
الكلاس set - الدالة len()
تعريف الدالة len()
ترجع عدد صحيح يمثل عدد عناصر الـset
الذي نمرره لها عند إستدعاءها.
بنا الدالة len()
len(set)
باراميترات الدالة len()
مكان الباراميتر set
نمرر الـset
الذي نريد الحصول على عدد عناصره.
قيمة ارجاع الدالة len()
ترجع عدد صحيح يمثل عدد عناصر الـset
الذي نمرره لها عند إستدعاءها.
مثال توضيحي الدالة len()
# وضعنا فيه مجموعة أعداد صحيحة aSet إسمه set هنا قمنا بتعريف aSet = {1, 2, 3, 4, 5} # len() الذي سترجعه الدالة aSet هنا قمنا بعرض عدد عناصر الكائن print('Array length is:', len(aSet))
•سنحصل على النتيجة التالية عند التشغيل.
الكلاس set - الدالة min()
تعريف الدالة min()
ترجع أصغر قيمة في الـset
الذي نمرره لها عند إستدعاءها.
بنا الدالة min()
min(set)
باراميترات الدالة min()
مكان الباراميتر set
نمرر الـset
الذي نريد الحصول على أصغر قيمة فيه.
قيمة ارجاع الدالة min()
ترجع أصغر قيمة في الـset
الذي نمرره لها عند إستدعاءها.
مثال يوضح الدالة min()
# وضعنا فيه مجموعة أعداد صحيحة aSet إسمه set هنا قمنا بتعريف aSet = {5, 2, 4, 6, 3} # min() و التي سترجعها الدالة aSet هنا قمنا بعرض اصغر قيمة في الكائن print('Minimum value is:', min(aSet))
•سنحصل على النتيجة التالية عند التشغيل.
الكلاس set - الدالة max()
تعريف الدالة max()
ترجع أكبر قيمة في الـset
الذي نمرره لها عند إستدعاءها.
بنا الدالة max()
max(set)
باراميترات الدالة max()
مكان الباراميتر set
نمرر الـset
الذي نريد الحصول على أكبر قيمة فيه.
قيمة ارجاع الدالة max()
ترجع أكبر قيمة في الـset
الذي نمرره لها عند إستدعاءها.
مثال على الدالة max()
# وضعنا فيه مجموعة أعداد صحيحة aSet إسمه set هنا قمنا بتعريف aSet = {5, 2, 4, 6, 3} # max() و التي سترجعها الدالة aSet هنا قمنا بعرض أكبر قيمة في الكائن print('Maximum value is:', max(aSet))
•سنحصل على النتيجة التالية عند التشغيل.
الكلاس set - الدالة set()
تعريف الدالة set()
ترجع نسخة من أي كائن يحتوي مجموعة عناصر نمرره لها عند إستدعاءها ككائن من الكلاس الـset
.
بنا الدالة set()
set(sequence)
باراميترات الدالة set()
مكان الباراميتر sequence
نمرر كائن يمثل كائن يمثل مجموعة عناصر.
قيمة ارجاع الدالة set()
ترجع نسخة من أي كائن يحتوي مجموعة عناصر نمرره لها عند إستدعاءها ككائن من الكلاس الـset
.
مثال يبين الدالة set()
# وضعنا فيه مجموعة أعداد صحيحة aList إسمه list هنا قمنا بتعريف aList = [1, 2, 3, 4, 5] # aSet الذي سترجعه في الكائن set بعدها قمنا بتخزين كائن الـ .set لترجع نسخة منه ككائن من الكلاس aList على الكائن set() هنا قمنا باستدعاء الدالة aSet = set(aList) # aSet هنا قمنا بعرض ما يحتويه الكائن print(aSet)
•سنحصل على النتيجة التالية عند التشغيل.