نوع المصفوفة set in python تتميز كما ذكرنا في درس array collection أن عناصرها غير مرتبة و ليس لها أرقام index , غير قابلة لتغيير أو تعديل القيم الخاصة بها , لا يمكن تكرار نفس القيمة في نفس المصفوفة set, عند تنفيذ البرنامج يتم تغيير موضع العناصر داخل set.
إنشاء set
يمكن إنشاء set بين الأقواس المجعدة { } أو من خلال الدالة set
friends = {"ahmed","amr","mohamed","ramy","hazem"}
friends = set(("ahmed","amr","mohamed","ramy","hazem"))
إستخدام set
لا يمكن الوصول إلى عناصر set من خلال أرقام index و لكن يمكن الوصول الى قيمها من خلال الدوران داخلها بـ for
friends = {"ahmed","amr","mohamed","ramy","hazem"} for x in friends: print(x)
يمكن فحص إذا كانت set تحتوي على قيمة أم لا من خلال الكلمة in لتعود القيمة بـ True / False
friends = {"ahmed","amr","mohamed","ramy","hazem"} print("mohamed" in friends)
إضافة عناصر إلى set
على الرغم من أن قيم set غير قابلة للتعديل إلا أن يمكن إضافة عنصر أو مجموعة من العناصر إلى set من خلال مجموعة من الدوال.
الدالة add تقوم بإضافة العناصر إلى set
friends = {"ahmed","amr","mohamed","ramy","hazem"} friends.add("khaled") print(friends)
الدالة update من خلالها يمكن إضافة مجموعة من العناصر من مصفوفة أخرى مهما كان نوعها, في المثال التالي سيتم إضافة friends2 set الى friends , تلاحظ أن amr في المصفوفتين إلا أن لم يتم تكرار amr و تم الإكتفاء بـ amr في المصفوفة الأولى
friends = {"ahmed","amr","mohamed","ramy","hazem"} friends2 = {"samy","ayman","ashraf","amr"} print("set friends before update") print(friends) friends.update(friends2) print("set friends after update") print(friends)
الدالة union تقوم بدمج مصفوفتين و لكن لا تؤثر على الدالة الأصلية حيث تقوم بالعودة بالنتيجة النهائية و يمكن تخزينها في set جديد
friends = {"ahmed","amr","mohamed","ramy","hazem"} friends2 = {"samy","ayman","ashraf","amr"} the_full_friends = friends.union(friends2) print(the_full_friends)
الدالة intersection_update تقوم بتعديل المصفوفة الأصلية بالقيم المشتركة فقط بين المصفوفتين
friends = {"ahmed","amr","mohamed","ramy","hazem"} friends2 = {"samy","ayman","hazem","ashraf","ramy"} print("set friends before update") print(friends) friends.intersection_update(friends2) print("set friends after update") print(friends)
دالة intersection تقوم بنفس دور intersection_update و لكن الفرق أنها تعود بمصفوفة جديدة بالنتيجة
friends = {"ahmed","amr","mohamed","ramy","hazem"} friends2 = {"samy","ayman","hazem","ashraf","ramy"} the_new_set = friends.intersection(friends2) print(the_new_set)
دالة symmetric_difference_update تقوم بتحديث المصفوفة الأصلية فقط بالعناصر الغير المشتركة و ستقوم بحذف العناصر المشتركة
friends = {"ahmed","amr","mohamed","ramy","hazem"} friends2 = {"samy","ayman","hazem","ashraf","ramy"} print("set friends before update") print(friends) friends.symmetric_difference_update(friends2) print("set friends after update") print(friends)
بينما دالة symmetric_difference تقوم بنفس عملية symmetric_difference_update إلا أنها تعود كمصفوفة جديدة
friends = {"ahmed","amr","mohamed","ramy","hazem"} friends2 = {"samy","ayman","hazem","ashraf","ramy"} the_new_set = friends.symmetric_difference(friends2) print(the_new_set)
حذف عناصر من set
دالة remove تقوم بحذف عنصر من set من خلال القيمة, هذة الدالة تعود برسالة خطأ في حالة لو كانت القيمة غير موجودة
friends = {"ahmed","amr","mohamed","ramy","hazem"} print("set friends before remove") print(friends) friends.remove("amr") print("set friends after remove") print(friends)
دالة discard تقوم بحذف عنصر من set من خلال القيمة, هذة الدالة لا تعود برسالة خطأ في حالة لو كانت القيمة غير موجودة
friends = {"ahmed","amr","mohamed","ramy","hazem"} print("set friends before discard") print(friends) friends.discard("amr") print("set friends after discard") print(friends)
دالة pop تقوم بحذف أخر عنصر من set , و لكن ضع في الأعتبار أن هذا العنصر سيتغير على حسب الترتيب العشوائي عند تنفيذ set
friends = {"ahmed","amr","mohamed","ramy","hazem"} print("set friends before pop") print(friends) friends.pop() print("set friends after pop") print(friends)
دالة clear تقوم بحذف كل عناصر set
friends = {"ahmed","amr","mohamed","ramy","hazem"} print("set friends before clear") print(friends) friends.clear() print("set friends after clear") print(friends)
أيضاً من خلال del يمكن حذف set بالكامل من الذاكرة
friends = {"ahmed","amr","mohamed","ramy","hazem"} del friends print(friends)
- روابط هامة لكورس لغة بايثون
- المتغير variable python
- انواع البيانات data type python
- if condition in python
- for loop in python
- while loop in python
- arithmetic operators in python
- assignment operators in python
- comparison operators in python
- logical operators in python
- identity operators in python
- input command in python
- array collection in python
- list in python
- tuple in python
- set in python
- dictionary in python
- iterators in python
- function in python