Python Sets

Set (مجموعه) در پایتون یک نوع داده است که:

  • بدون ترتیب (unordered) است → ترتیب عناصر ثابت نیست.

  • عناصر تکراری ندارد (unique) → هر مقدار فقط یک‌بار ذخیره می‌شود.

  • بدون ایندکس است → نمی‌توانید با عدد اندیس به عنصر دسترسی بگیرید.

🔹 ساخت یک Set

# ساخت مستقیم fruits = {"apple", "banana", "cherry"} # از لیست یا تاپل nums = set([1, 2, 2, 3]) print(nums) # {1, 2, 3} ← تکرارها حذف می‌شوند

برای ساخت ست خالی از ()set استفاده کنید (نه {} چون دیکشنری می‌سازد).

🔹 پیمایش و دسترسی

چون Set ایندکس ندارد، با حلقه پیمایش می‌کنیم:

for item in fruits: print(item)

بررسی وجود عضو:

if "banana" in fruits: print("Yes")

🔹 افزودن و به‌روزرسانی

fruits.add("orange") # افزودن یک عضو fruits.update(["mango", "grapes"]) # افزودن چند عضو

🔹 حذف اعضا

fruits.remove("banana") # اگر نباشد: خطا fruits.discard("banana") # اگر نباشد: بدون خطا fruits.pop() # حذف تصادفی یک عضو fruits.clear() # حذف همه اعضا

🔹 عملیات مجموعه‌ای (Set Operations)

مناسب برای کارهای ریاضی روی مجموعه‌ها:

a = {1, 2, 3} b = {3, 4, 5} print(a.union(b)) # اجتماع: {1, 2, 3, 4, 5} print(a.intersection(b)) # اشتراک: {3} print(a.difference(b)) # تفاضل: {1, 2} print(a.symmetric_difference(b)) # اختلاف متقارن: {1, 2, 4, 5}

🔹 متدهای پرکاربرد

متدتوضیح
()addافزودن یک عنصر
()updateافزودن چند عنصر
remove() / ()discardحذف عنصر
()popحذف تصادفی
()clearپاک‌کردن کل مجموعه
()unionاجتماع
()intersectionاشتراک
()differenceتفاضل
()symmetric_differenceاختلاف متقارن
()copyکپی مجموعه

✅ نکات مهم

  • Set‌ برای حذف مقادیر تکراری از لیست عالی است:

    unique = set([1,1,2,3,3]) # {1, 2, 3}
  • ترتیب چاپ هر بار ممکن است فرق کند.

  • به دلیل عدم ایندکس، دسترسی مستقیم مثل fruits[0] وجود ندارد.

💡 خلاصه:
Set در پایتون یک ساختار بدون ترتیب و بدون تکرار است که برای ذخیره داده‌های یکتا، مقایسه و انجام عملیات ریاضی روی مجموعه‌ها بسیار کاربردی است.