المشترك: إن كلاً من هذه الطريقتين methods تستخدم في حذف عنصر من المجموعة set.
الاختلاف: أن discard هي طريقة أمنة لحذف العنصر، حيث تختبر وجوده ضمن المجموعة قبل حذفه ولا تعطي أي رسالة خطأ في حال لم يكون العنصر ينتمي للمجموعة، أما remove تعطي خطأ في حال عدم وجود العنصر، خطأ من نوع KeyError.
بالنسبة ل set
>>> s = {1, 2, 3, 4, 5}
>>> s.remove(3) # عنصر موجود - يتم حذفه
>>> s
{1, 2, 4, 5}
>>> s.remove(6) # عنصر غير موجود - يعطي رسالة خطأ
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 6
أما discard لاتعطي أي تحذير أو خطأ
>>> s.discard(6)
>>> s
{1, 2, 4, 5}
توثيق المجموعات set في بايثون