0Pricing
Python Academy · درس

المجموعات وعملياتها

أنشئ المجموعات ونفّذ عمليات الاتحاد والتقاطع والفرق

المجموعات وعملياتها درس مجاني في Python Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Python Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Python Academy 4 دروس في المجموع.

مقدمة

المجموعات Collections غير مرتبة وتحتوي على عناصر فريدة قابلة للتجزئة. وهي محسّنة للتحقق من العضوية وتنفيذ عمليات المجموعات الرياضية.

إنشاء مجموعة

s = {1, 2, 3} أو s = set([1, 2, 2, 3]) — تُزال العناصر المكررة تلقائيًا. أما {} فتنشئ قاموسًا فارغًا، لا مجموعة.
s = {1, 2, 2, 3}
print(s)  # {1, 2, 3}
empty = set()
print(type(empty))

add() وdiscard()

يضيف s.add(x) عنصرًا. ويزيله s.discard(x) بصمت، من دون خطأ إذا لم يكن موجودًا. أما s.remove(x) فيرفع KeyError إذا كان العنصر غائبًا.
s = {1, 2, 3}
s.add(4)
s.discard(9)  # safe
print(s)

التحقق من العضوية

يبلغ التعقيد الزمني لـ x in s مقدار O(1) في المجموعات، مقابل O(n) في القوائم. فضّلوا دائمًا المجموعة عندما تحتاجون فقط إلى عمليات تحقق سريعة من العضوية.
s = {1, 2, 3}
print(2 in s)
print(9 in s)

الاتحاد |

يعيد s1 | s2 العناصر الموجودة في أي من المجموعتين. ويكافئه s1.union(s2).
a = {1, 2, 3}
b = {3, 4, 5}
print(a | b)

التقاطع &

يعيد s1 & s2 العناصر الموجودة في كلتا المجموعتين. ويكافئه s1.intersection(s2).
a = {1, 2, 3}
b = {2, 3, 4}
print(a & b)

الفرق -

يعيد s1 - s2 العناصر الموجودة في s1 وغير الموجودة في s2. ويكافئه s1.difference(s2).
a = {1, 2, 3}
b = {2, 3, 4}
print(a - b)

الفرق المتماثل ^

يعيد s1 ^ s2 العناصر الموجودة في إحدى المجموعتين دون الأخرى. ويفيد ذلك في معرفة ما تغير بين مجموعتين.
a = {1, 2, 3}
b = {2, 3, 4}
print(a ^ b)

المجموعة الجزئية والمجموعة الشاملة

يتحقق s1 <= s2 مما إذا كانت s1 مجموعة جزئية من s2. ويتحقق s1 >= s2 مما إذا كانت مجموعة شاملة لها. أما s1 < s2 فيتحقق من كونها مجموعة جزئية حقيقية.
a = {1, 2}
b = {1, 2, 3}
print(a <= b)
print(b >= a)

frozenset

‏frozenset مجموعة غير قابلة للتغيير، ويمكن استخدامها مفتاحًا لقاموس أو عنصرًا في مجموعة أخرى.
fs = frozenset([1, 2, 3])
d = {fs: 'value'}
print(d[fs])

استيعاب المجموعات

ينشئ {x*2 for x in range(5)} مجموعة باستخدام صيغة الاستيعاب. وتُزال العناصر المكررة تلقائيًا.
evens = {x*2 for x in range(5)}
print(evens)

تحقق سريع

ما التعقيد الزمني للعملية x in s عندما تكون s مجموعة في Python؟

مراجعة

المجموعات غير مرتبة وفريدة، ويبلغ تعقيد التحقق من العضوية فيها O(1). العمليات هي: | (الاتحاد)، & (التقاطع)، - (الفرق)، ^ (الفرق المتماثل). استخدموا frozenset للمجموعات غير القابلة للتغيير.

تابعوا التقدم

عمل رائع! انتقلوا إلى الدرس التالي لمواصلة تطوير مهاراتكم.

الأسئلة الشائعة

هل درس «المجموعات وعملياتها» مجاني؟

نعم — نص درس «المجموعات وعملياتها» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Python Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Python Academy 4 دروس في المجموع.

ماذا ستتعلم في «المجموعات وعملياتها»؟

أنشئ المجموعات ونفّذ عمليات الاتحاد والتقاطع والفرق تتمرن على Python Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Python Academy؟

لا تُشترط خبرة سابقة. Python Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «المجموعات وعملياتها»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Python Academy هذا؟

نعم. كل درس في Python Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. أساسيات القواميس
  2. أساليب القواميس
  3. المجموعات وعملياتها
  4. الاختصارات البرمجية للقواميس
← العودة إلى Python Academy