Python

مجموعه‌ها (Sets) در پایتون

آموزش جامع مجموعه‌ها در پایتون

مقدمه

مجموعه‌ها (Sets) در پایتون ساختارهای داده‌ای قدرتمندی هستند که برای ذخیره‌سازی مجموعه‌ای از عناصر منحصربه‌فرد و غیرقابل تغییر استفاده می‌شوند.

برخلاف لیست‌ها که می‌توانند عناصر تکراری داشته باشند و ترتیب عناصر در آنها مهم است، در مجموعه‌ها هر عنصر فقط یک بار وجود دارد و ترتیب عناصر بی‌اهمیت است.

این ویژگی‌ها، مجموعه‌ها را برای انجام عملیات مختلف مانند یافتن عناصری که در دو مجموعه مشترک هستند یا نیستند، ترکیب یا تفریق مجموعه‌ها، بررسی وجود یک عنصر خاص در مجموعه و مرتب‌سازی عناصر مجموعه، به روشی کارآمد و مؤثر، مناسب می‌کند.

ایجاد مجموعه

ایجاد مجموعه در پایتون با استفاده از علامت آکولاد {} و جداسازی عناصر با کاما , انجام می‌شود. به عنوان مثال، برای ایجاد مجموعه‌ای شامل اعداد ۱، ۲، ۳ و ۴ می‌توان از کد زیر استفاده کرد:

Python
my_set = {۱, ۲, ۳, ۴}

همچنین می‌توان از نوع داده set برای تبدیل یک لیست یا تاپل به مجموعه استفاده کرد. این کار باعث حذف عناصر تکراری از لیست یا تاپل می‌شود:

Python
my_list = [۱, ۲, ۳, ۲, ۴, ۳]
my_set = set(my_list)
print(my_set)  # {۱, ۲, ۳, ۴}

دسترسی به عناصر مجموعه

دسترسی مستقیم به عناصر خاص در یک مجموعه با استفاده از ایندکس امکان‌پذیر نیست، زیرا ترتیب عناصر در مجموعه تعریف نشده است.

با این حال، می‌توانید از روش‌های مختلفی برای پیمایش عناصر مجموعه و دسترسی به آنها استفاده کنید:

  • حلقه for:
Python
for element in my_set:
  print(element)
  • متد pop(): این متد یک عنصر تصادفی را از مجموعه حذف کرده و آن را برمی‌گرداند:
Python
element = my_set.pop()
print(element)  # ۱ or 2 or 3 or 4 (randomly removed)
  • متد clear(): این متد تمام عناصر مجموعه را حذف می‌کند:
Python
my_set.clear()
print(my_set)  # set()

عملیات مجموعه

مجموعه‌ها از تعدادی عملیات داخلی برای انجام وظایف مختلف مانند یافتن عناصری که در دو مجموعه مشترک هستند یا نیستند، ترکیب یا تفریق مجموعه‌ها، بررسی وجود یک عنصر خاص در مجموعه و مرتب‌سازی عناصر مجموعه پشتیبانی می‌کنند.

برخی از مهم‌ترین عملیات مجموعه در پایتون عبارتند از:

  • اتحاد (Union): این عمل عناصر موجود در هر دو مجموعه را در یک مجموعه جدید ترکیب می‌کند. از علامت | یا تابع union() برای این کار استفاده می‌شود:
Python
set1 = {۱, ۲, ۳}
set2 = {۳, ۴, ۵}
union_set = set1 | set2
print(union_set)  # {۱, ۲, ۳, ۴, ۵}
  • اشتراک (Intersection): این عمل عناصری را که در هر دو مجموعه مشترک هستند، در یک مجموعه جدید جمع‌آوری می‌کند. از علامت & یا تابع intersection() برای این کار استفاده می‌شود:
Python
set1 = {۱, ۲, ۳}
set2 = {۳, ۴, ۵}
intersection_set = set1 & set2
print(intersection_set)  # {۳}
  • تفاضل (Difference): این عمل عناصری را که در مجموعه اول وجود دارند و در مجموعه دوم نیستند، در یک مجموعه جدید جمع‌آوری می‌کند. از علامت - یا تابع difference() برای این کار استفاده می‌شود:
Python
set1 = {۱, ۲, ۳}
set2 = {۳, ۴, ۵}
difference_set = set1 - set2
print(difference_set)  # {۱, ۲}
  • بررسی وجود عنصر (In): این عمل بررسی می‌کند که آیا عنصر خاصی در مجموعه وجود دارد یا خیر. از اپراتور in برای این کار استفاده می‌شود:
Python
my_set = {۱, ۲, ۳, ۴, ۵} 
print(۱ in my_set) # True 
print(۶ in my_set) # False

مرتبی‌سازی عناصر مجموعه

در حالی که ترتیب عناصر در یک مجموعه ذاتاً نامشخص است، می‌توان از روش‌های مختلفی برای مرتب‌سازی عناصر یک مجموعه بر اساس معیارهای خاص استفاده کرد.

یکی از روش‌های رایج استفاده از کتابخانه collections و تابع sorted() است. این تابع عناصر مجموعه را به ترتیب صعودی مرتب‌سازی می‌کند و یک لیست مرتب‌شده جدید برمی‌گرداند.

برای مثال:

Python
my_set = {۵, ۲, ۴, ۱, ۳}
sorted_list = sorted(my_set)
print(sorted_list)  # [۱, ۲, ۳, ۴, ۵]

همچنین می‌توان از روش‌های دیگر مانند تبدیل مجموعه به لیست و سپس مرتب‌سازی لیست با استفاده از توابع مرتب‌سازی داخلی پایتون استفاده کرد.

مقایسه مجموعه‌ها

مقایسه دو مجموعه برای بررسی برابری یا عدم برابری آنها امکان‌پذیر است.

از اپراتورهای مقایسه‌ای == و != برای بررسی برابری و عدم برابری دو مجموعه به ترتیب استفاده می‌شود:

Python
set1 = {۱, ۲, ۳}
set2 = {۱, ۲, ۳}
set3 = {۴, ۵, ۶}

print(set1 == set2)  # True
print(set1 != set3)  # True

همچنین می‌توان از روش‌های دیگر مانند تبدیل مجموعه‌ها به لیست‌های مرتب‌شده و سپس مقایسه لیست‌ها با استفاده از توابع مقایسه‌ای داخلی پایتون استفاده کرد.

کاربردهای مجموعه‌ها

مجموعه‌ها کاربردهای مختلفی در برنامه‌نویسی دارند، از جمله:

  • حذف تکراری‌ها: برای حذف عناصر تکراری از لیست‌ها یا تاپل‌ها
  • یافتن عناصری که در دو مجموعه مشترک هستند یا نیستند: برای تطبیق داده‌ها یا یافتن تفاوت بین مجموعه‌ها
  • انجام عملیات مجموعه: مانند اتحاد، اشتراک و تفاضل
  • چک کردن وجود عنصر: برای بررسی اینکه آیا یک عنصر خاص در یک مجموعه وجود دارد یا خیر
  • ایجاد ساختارهای داده کارآمد: مانند دیکشنری‌ها و گراف‌ها

جمع‌بندی

مجموعه‌ها در پایتون ساختارهای داده‌ای قدرتمند و کارآمد هستند که برای انجام انواع مختلف عملیات مربوط به مجموعه‌ها به روشی مؤثر و آسان، مناسب هستند.

فهم مفاهیم و روش‌های کار با مجموعه‌ها برای هر برنامه‌نویس پایتون ضروری است.

۰/۵ ( ۰ امتیاز )
نمایش بیشتر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا