دوره‌ها / آموزش پایتون (Python) / مجموعه‌ها (Python Sets)

مجموعه‌ها (Python Sets)

15 دقیقه Article

مجموعه‌ها: منحصر‌به‌فرد و نامرتب (Sets) 🎨🌀

مجموعه یا Set در پایتون برای ذخیره چندین آیتم در یک متغیر استفاده می‌شود، اما با قوانینی متفاوت از لیست و تاپل. ویژگی اصلی Set عدم تکرار و نامرتب بودن است.

ویژگی‌های ست (Set):

  • نامرتب (Unordered): آیتم‌ها ترتیب مشخصی ندارند. هر بار که مجموعه را چاپ کنید، ممکن است با ترتیب متفاوتی ظاهر شوند.
  • ایندکس‌ناپذیر: شما نمی‌توانید با شماره ایندکس (مثلاً [0]) به آیتم‌ها دسترسی داشته باشید.
  • غیرتکراری: ست اجازه نمی‌دهد دو آیتم با مقدار یکسان وجود داشته باشند. اگر مقدار تکراری اضافه کنید، پایتون آن را نادیده می‌گیرد.

۱. ایجاد و افزودن

مجموعه‌ها با آکولاد {} تعریف می‌شوند:

thisset = {"apple", "banana", "cherry"}
print(thisset)

برای اضافه کردن یک آیتم از add() و برای اضافه کردن چندین آیتم (مثلاً از یک لیست دیگر) از update() استفاده می‌کنیم.

۲. حذف آیتم‌ها

دو متد اصلی برای حذف وجود دارد که تفاوت ظریفی دارند:

  • remove(): آیتم را حذف می‌کند. اگر آیتم وجود نداشته باشد، خطا می‌دهد.
  • discard(): آیتم را حذف می‌کند. اگر آیتم وجود نداشته باشد، هیچ خطایی نمی‌دهد.

۳. عملیات ریاضی مجموعه‌ها 📐

پایتون به شما اجازه می‌دهد عملیات‌های ریاضی مجموعه‌ها را به سادگی انجام دهید:

  • union(): اجتماع دو مجموعه (همه آیتم‌های هر دو).
  • intersection(): اشتراک دو مجموعه (فقط آیتم‌های مشترک).
  • difference(): تفاضل (آیتم‌هایی که در اولی هست ولی در دومی نیست).
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = set1.union(set2)
print(set3)
کاربرد عالی: اگر لیستی دارید که مقادیر تکراری دارد و می‌خواهید سریعاً تکراری‌ها را حذف کنید، آن را به Set تبدیل کنید و دوباره به لیست برگردانید! list(set(my_list))

تمرین‌های عملی

برای تثبیت یادگیری این درس تمرین‌های زیر را حل کنید

حذف تکراری‌ها Medium
سوال تمرین

یک مجموعه (Set) به نام fruits بسازید که شامل سه مقدار: 'apple'، 'banana' و مجدداً 'apple' باشد. سپس مجموعه را چاپ کنید و ببینید چند آیتم در خروجی ظاهر می‌شود.

پاسخ تمرین
PYTHON
fruits = {'apple', 'banana', 'apple'}
print(fruits)

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.