set در پایتون

  • مدرس : علی بیگدلی
  • تاریخ انتشار: 1404/05/11
  • تعداد بازدید: 23

set در پایتون

set یک ساختار داده در پایتون است که برای نگهداری مجموعه‌ای از عناصر یکتا استفاده می‌شود. مشابه با لیست‌ها و دیکشنری‌ها ساخته می‌شود اما از نظر رفتار متفاوت است. یک set می‌تواند با استفاده از آکولادها {} یا تابع set() ایجاد شود.

num_set = {1, 2, 3, 4, 5}
word_set = set(["spam", "eggs", "sausage"])

print(3 in num_set)
print("spam" not in word_set)

خروجی:

>>>
True
False
>>>

نکته: برای ایجاد یک set خالی باید از set() استفاده کرد. زیرا {} یک دیکشنری خالی می‌سازد. setها برخلاف لیست‌ها دارای اندیس نیستند و نمی‌توان به اعضای آن‌ها با اندیس دسترسی داشت. همچنین عناصر تکراری در آن‌ها ذخیره نمی‌شود.

nums = {1, 2, 1, 3, 1, 4, 5, 6}
print(nums)
nums.add(-7)
nums.remove(3)
print(nums)

خروجی:

>>>
{1, 2, 3, 4, 5, 6}
{1, 2, 4, 5, 6, -7}
>>>

برای اضافه کردن عناصر به set از متد add استفاده می‌شود و برای حذف، از remove یا discard. همچنین متد pop یک عنصر دلخواه را حذف و بازمی‌گرداند.

عملیات ریاضی روی set

setها از عملیات ریاضیاتی زیر پشتیبانی می‌کنند:

  • | (اتحاد): ترکیب دو set
  • & (تقاطع): عناصر مشترک بین دو set
  • - (اختلاف): عناصر موجود در set اول که در set دوم نیستند
  • ^ (اختلاف متقارن): عناصری که فقط در یکی از setها وجود دارند
first = {1, 2, 3, 4, 5, 6}
second = {4, 5, 6, 7, 8, 9}

print(first | second)
print(first & second)
print(first - second)
print(second - first)
print(first ^ second)

خروجی:

>>>
{1, 2, 3, 4, 5, 6, 7, 8, 9}
{4, 5, 6}
{1, 2, 3}
{8, 9, 7}
{1, 2, 3, 7, 8, 9}
>>>
متدهای پرکاربرد set
  • add(elem): افزودن یک عنصر
  • remove(elem): حذف یک عنصر (در صورت نبودن، خطا می‌دهد)
  • discard(elem): حذف یک عنصر بدون ایجاد خطا در صورت نبود آن
  • pop(): حذف و بازگرداندن یک عنصر دلخواه
  • clear(): حذف همه عناصر
  • update(iterable): افزودن چند عنصر از یک iterable
  • intersection(other_set): بازگرداندن تقاطع
  • union(other_set): بازگرداندن اتحاد
  • difference(other_set): بازگرداندن اختلاف
  • symmetric_difference(other_set): بازگرداندن اختلاف متقارن
جمع‌بندی

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

ثبت دیدگاه


نکته: آدرس ایمیل شما منتشر نخواهد شد

دیدگاه کاربران (0)


هیچ دیدگاهی ثبت نشده است. می‌توانید اولین نفر باشید.