الفرق بين المراجعتين لصفحة: «Python/set»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:المجموعات set في بايثون}}</noinclude> | <noinclude>{{DISPLAYTITLE:المجموعات set في بايثون}}</noinclude> | ||
المجموعة set هي مجموعة من | المجموعة set هي مجموعة من الكائنات غير المرتّبة وغير المكرّرة وغير القابلة للتعديل immutable. تستخدم المجموعات عادة لاختبار وجود العناصر وللتخلص من المدخلات المكرّرة. تدعم كائنات المجموعات العمليات الرياضية مثل الاتحاد union، التقاطع intersection، الاختلاف difference، والاختلاف المتناظر symmetric difference (راجع [[Python/set operations|عمليات المجموعات في بايثون]]). | ||
تستخدم الأقواس المعقوفة أو الدالة <code>set()</code> لإنشاء مجموعة جديدة:<syntaxhighlight lang="python3"> | تستخدم الأقواس المعقوفة أو الدالة <code>set()</code> لإنشاء مجموعة جديدة:<syntaxhighlight lang="python3"> | ||
سطر 15: | سطر 15: | ||
{'a', 'r', 'b', 'c', 'd'} | {'a', 'r', 'b', 'c', 'd'} | ||
</syntaxhighlight>'''ملاحظة''': لإنشاء مجموعة فارغة يجب استخدام الدالة <code>set()</code> ولا يمكن استخدام الصيغة <code>{}</code> لأنّها تنشئ [[Python/dict|قاموسًا]] فارغًا. | </syntaxhighlight>'''ملاحظة''': لإنشاء مجموعة فارغة يجب استخدام الدالة <code>set()</code> ولا يمكن استخدام الصيغة <code>{}</code> لأنّها تنشئ [[Python/dict|قاموسًا]] فارغًا. | ||
تنطبق قواعد عدم التغيير الخاصة بمفاتيح القواميس على عناصر المجموعة. تخضع الأرقام للقواعد الطبيعية الخاصة بعمليات المقارنة بين الأرقام، فلو كان هناك رقمان تُظهر المقارنة بينهما أنّهما متساويان (مثل <code>1</code> و <code>1.0</code>) فيمكن حينئذ لواحد منهما فقط أن يكون موجودًا في المجموعة. | |||
على الرغم من أنّ عناصر المجموعة يجب أن تكون من الأنواع غير القابلة للتعديل؛ إلا أنّ المجموعة بحدّ ذاتها قابلة للتعديل، مثال:<syntaxhighlight lang="python3"> | |||
>>> basket = {'apple', 'orange', 'banana'} | |||
>>> basket.add('strawberry') | |||
>>> basket | |||
{'strawberry', 'banana', 'apple', 'orange'} | |||
</syntaxhighlight> | |||
== Set comprehensios == | == Set comprehensios == | ||
سطر 22: | سطر 32: | ||
{'r', 'd'} | {'r', 'd'} | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== المجموعات الجامدة frozenset == | |||
المجموعات الجامدة هي مجموعات غير قابلة للتعديل، immutable، ويمكن إنشاؤها باستخدام الدالة الداخلية <code>frozenset()</code>:<syntaxhighlight lang="python3"> | |||
>>> coord = frozenset('xyz') | |||
>>> coord | |||
frozenset({'y', 'z', 'x'}) | |||
</syntaxhighlight> | |||
لما كانت المجموعات الجامدة غير قابلة للتعديل وقابلة للتقطيع hashable، فبالإمكان استخدامها كعناصر لمجموعات أخرى، أو كمفاتيح في [[Python/dict|القواميس]]. |
مراجعة 11:24، 27 فبراير 2018
المجموعة set هي مجموعة من الكائنات غير المرتّبة وغير المكرّرة وغير القابلة للتعديل immutable. تستخدم المجموعات عادة لاختبار وجود العناصر وللتخلص من المدخلات المكرّرة. تدعم كائنات المجموعات العمليات الرياضية مثل الاتحاد union، التقاطع intersection، الاختلاف difference، والاختلاف المتناظر symmetric difference (راجع عمليات المجموعات في بايثون).
تستخدم الأقواس المعقوفة أو الدالة set()
لإنشاء مجموعة جديدة:
>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>> print(basket) # تحذف اللغة العناصر المكررة
{'orange', 'banana', 'pear', 'apple'}
>>> 'orange' in basket # اختبار سريع لوجود عنصر ما ضمن المجموعة
True
>>> 'crabgrass' in basket
False
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a # الأحرف غير المكرّرة في المجموعة
{'a', 'r', 'b', 'c', 'd'}
ملاحظة: لإنشاء مجموعة فارغة يجب استخدام الدالة set()
ولا يمكن استخدام الصيغة {}
لأنّها تنشئ قاموسًا فارغًا.
تنطبق قواعد عدم التغيير الخاصة بمفاتيح القواميس على عناصر المجموعة. تخضع الأرقام للقواعد الطبيعية الخاصة بعمليات المقارنة بين الأرقام، فلو كان هناك رقمان تُظهر المقارنة بينهما أنّهما متساويان (مثل 1
و 1.0
) فيمكن حينئذ لواحد منهما فقط أن يكون موجودًا في المجموعة.
على الرغم من أنّ عناصر المجموعة يجب أن تكون من الأنواع غير القابلة للتعديل؛ إلا أنّ المجموعة بحدّ ذاتها قابلة للتعديل، مثال:
>>> basket = {'apple', 'orange', 'banana'}
>>> basket.add('strawberry')
>>> basket
{'strawberry', 'banana', 'apple', 'orange'}
Set comprehensios
تدعم بايثون set comprehensions بطريقة تشبه list comprehensions:
>>> a = {x for x in 'abracadabra' if x not in 'abc'}
>>> a
{'r', 'd'}
المجموعات الجامدة frozenset
المجموعات الجامدة هي مجموعات غير قابلة للتعديل، immutable، ويمكن إنشاؤها باستخدام الدالة الداخلية frozenset()
:
>>> coord = frozenset('xyz')
>>> coord
frozenset({'y', 'z', 'x'})
لما كانت المجموعات الجامدة غير قابلة للتعديل وقابلة للتقطيع hashable، فبالإمكان استخدامها كعناصر لمجموعات أخرى، أو كمفاتيح في القواميس.