در پایتون، Set یک مجموعهی بدون ترتیب و بدون عنصر تکراری است.
برای حذف اعضا، چند متد و عملگر مختلف وجود دارد:
🔹 1️⃣ ()remove
– حذف با خطا در نبود عنصر
یک مقدار مشخص را حذف میکند.
اگر عضو وجود نداشته باشد، خطای KeyError
رخ میدهد.
fruits = {"apple", "banana", "cherry"}
fruits.remove("banana")
print(fruits) # {'apple', 'cherry'}
# fruits.remove("mango") # KeyError: 'mango'
🔹 2️⃣ ()discard
– حذف بدون خطا
مشابه ()remove
ولی اگر عنصر وجود نداشته باشد، هیچ خطایی نمیدهد.
fruits = {"apple", "banana", "cherry"}
fruits.discard("banana")
print(fruits) # {'apple', 'cherry'}
fruits.discard("mango") # بدون خطا
🔹 3️⃣ ()pop
– حذف و برگرداندن یک عضو تصادفی
یک عنصر تصادفی را حذف کرده و برمیگرداند.
fruits = {"apple", "banana", "cherry"}
item = fruits.pop()
print(item) # یک عضو تصادفی (مثلاً 'banana')
print(fruits) # بقیه اعضا
چون Set بدون ترتیب است، نمیتوان مشخص کرد کدام عضو حذف میشود.
🔹 4️⃣ ()clear
– حذف همهی عناصر
تمام آیتمهای Set را پاک میکند ولی خود شیء Set باقی میماند.
fruits = {"apple", "banana"}
fruits.clear()
print(fruits) # set()
🔹 5️⃣ del
– حذف کامل Set
کل شیء Set را از حافظه پاک میکند.
fruits = {"apple", "banana"}
del fruits
# حالا دیگر متغیر fruits وجود ندارد
✅ خلاصه سریع
متد / عملگر | رفتار |
---|---|
remove(x) | حذف یک عضو مشخص، خطا در صورت نبودن |
discard(x) | حذف یک عضو مشخص، بدون خطا |
()pop | حذف و بازگرداندن یک عضو تصادفی |
()clear | پاککردن همه اعضا (Set خالی میشود) |
del set_name | حذف کامل شیء Set |
💡 نکات:
-
چون Set unordered است، با
()pop
نمیتوان پیشبینی کرد کدام عنصر حذف میشود. -
برای حذف ایمن بدون نگرانی از وجود یا عدم وجود عضو، از
()discard
استفاده کنید.