Sets - Learn Python 3 - Snakify

Lesson 10
موعات


1. ما هو مجموعة

مجموعة في Python هي بنية بيانات تعادل مجموعات في الرياضيات. قد تتكون من عناصر مختلفة. ترتيب العناصر في مجموعة غير معرفة. يمكنك إضافة عناصر من مجموعة وحذفها ، يمكنك تكرار عناصر المجموعة ، يمكنك إجراء عمليات قياسية على مجموعات (نقابة ، تقاطع ، فرق). بالإضافة إلى ذلك ، يمكنك التحقق مما إذا كان العنصر ينتمي إلى مجموعة.

بخلاف المصفوفات ، حيث يتم تخزين العناصر كقائمة مرتبة ، فإن ترتيب العناصر في مجموعة غير محدد (علاوةً على ذلك ، لا يتم تخزين عناصر المجموعة عادةً لترتيب المظهر في المجموعة ؛ وهذا يسمح بالتحقق مما إذا كان العنصر ينتمي إلى مجموعة بشكل أسرع من مجرد الذهاب من خلال جميع عناصر المجموعة).

يمكن أن يكون أي نوع بيانات قابل للتغيير عنصرًا من مجموعة: رقم ، سلسلة ، مجموعة. لا يمكن أن تكون أنواع البيانات القابلة للتغيير (القابلة للتغيير) هي عناصر المجموعة. على وجه الخصوص ، لا يمكن أن تكون القائمة عنصرًا في مجموعة (ولكن يمكن لمجموعة tuple) ، ولا يمكن أن تكون مجموعة أخرى عنصرًا في مجموعة. يتبع شرط عدم القدرة على التحمل من الطريقة التي تمثل بها أجهزة الكمبيوتر مجموعات في الذاكرة.

Advertising by Google, may be based on your interests

2. كيفية تحديد مجموعة

يمكنك تحديد مجموعة بسيطة مثل تسمية جميع عناصرها بين قوسين. الاستثناء الوحيد هو مجموعة فارغة ، والتي يمكن إنشاؤها باستخدام set() الوظائف set() . إذا كانت set(..) تحتوي على قائمة أو سلسلة أو مجموعة كمعامل ، فستعرض مجموعة مكونة من عناصرها. فمثلا،

A = {1, 2, 3}
A = set('qwerty')
print(A)

ستقوم بطباعة {'e', 'q', 'r', 't', 'w', 'y'} كخرج.

ترتيب العناصر غير مهم. على سبيل المثال ، البرنامج

A = {1, 2, 3}
B = {3, 2, 3, 1}
print(A == B)

ستطبع True ، لأن A و B هما مجموعة متساوية.

قد يدخل كل عنصر في المجموعة مرة واحدة فقط. set('Hello') بإرجاع مجموعة من العناصر الأربعة: {'H', 'e', 'l', 'o'} .

Advertising by Google, may be based on your interests

3. العمليات مع العناصر

يمكنك الحصول على عدد العناصر في المجموعة باستخدام الدالة len .

يمكنك أيضًا التكرار عبر جميع عناصر المجموعة (بترتيب غير معرّف!) باستخدام الحلقة من for :

primes = {2, 3, 5, 7, 11}
for num in primes:
    print(num)

يمكنك التحقق مما إذا كان العنصر ينتمي إلى مجموعة باستخدام الكلمة الرئيسية in : تعبيرات مثل a in A إرجاع قيمة bool نوع. وبالمثل هناك عملية عكسية not in . لإضافة عنصر إلى مجموعة هناك طريقة add :

A = {1, 2, 3}
print(1 in A, 4 not in A)
A.add(4)

هناك طريقتان لإزالة عنصر من مجموعة: discard remove . يختلف سلوكها فقط في حالة إذا لم يكن العنصر المحذوف موجودًا في المجموعة. في هذه الحالة ، لا discard الطريقة التي يتم discard وتقوم الطريقة remove الاستثناءات KeyError .

وأخيرًا ، يزيل pop عنصرًا عشوائيًا واحدًا من المجموعة ويعيد قيمته. إذا كانت المجموعة فارغة ، فإن pop يولد الاستثناء KeyError .

يمكنك تحويل مجموعة إلى قائمة باستخدام list الوظائف.

Advertising by Google, may be based on your interests

4. العمليات على مجموعات

هذه هي الطريقة التي تنفذ بها عمليات معروفة على مجموعات في بايثون:

أ | ب
A.union (B)
تُرجع المجموعة التي هي اتحاد المجموعتين A و B
أ | = ب
A.update (B)
يضيف كل عناصر المجموعة B إلى المجموعة A .
أ و ب
A.intersection (B)
تُرجع المجموعة التي هي تقاطع المجموعتين A و B
A & = B
A.intersection_update (B)
يترك في المجموعة A فقط العناصر التي تنتمي إلى المجموعة B .
أ - ب
A.difference (B)
لعرض فرق المجموعة A و B (العناصر المدرجة في A ، ولكن غير مضمنة في B ).
أ - = ب
A.difference_update (B)
يزيل جميع عناصر B من المجموعة A
A ^ B
A.symmetric_difference (B)
لعرض الفرق المتماثل للمجموعتين A و B (العناصر التي تنتمي إلى A أو B ، ولكن ليس لكلتا المجموعتين في وقت واحد).
أ ^ = ب
A.symmetric_difference_update (B)
يكتب في A الفرق متماثل مجموعات A و B .
أ <= ب
A.issubset (B)
إرجاع true إذا كانت A هي مجموعة فرعية من B
أ> = ب
A.issuperset (B)
إرجاع true إذا كانت B مجموعة فرعية من A
أ <ب
أي ما يعادل A <= B and A != B
أ> ب
مكافئ إلى A >= B and A != B
Advertising by Google, may be based on your interests