Set در پایتون چیست؟
Set یا مجموعه یکی از انواع دادههای پایتون است که برای نگهداری مجموعهای از مقادیر استفاده میشود.
یکی از ویژگیهای مهم Set این است که عناصر تکراری را نگهداری نمیکند. همچنین Set برخلاف List و Tuple ترتیب مشخصی برای دسترسی با Index ندارد.
ساخت Set در پایتون
برای ساخت یک Set معمولاً عناصر را داخل
{ }
قرار میدهیم.
numbers = {1, 2, 3, 4, 5}
print(numbers)
حذف عناصر تکراری
اگر یک مقدار را چند بار داخل Set قرار دهیم، مقدار تکراری فقط یک بار نگهداری میشود.
numbers = {1, 2, 2, 3, 3, 4}
print(numbers)
در نتیجه، Set فقط مقادیر یکتا را نگهداری میکند.
ساخت Set با set()
میتوانیم با تابع
set()
نیز یک مجموعه بسازیم.
numbers = set([1, 2, 3, 4])
print(numbers)
Set خالی
برای ساخت یک Set خالی باید از
set()
استفاده کنیم.
numbers = set()
print(numbers)
توجه کنید که
{}
یک Dictionary خالی میسازد، نه Set.
اضافه کردن عنصر با add()
برای اضافه کردن یک عنصر جدید به Set از متد
add()
استفاده میکنیم.
numbers = {1, 2, 3}
numbers.add(4)
print(numbers)
حذف عنصر با remove()
با استفاده از
remove()
میتوانیم یک عنصر را حذف کنیم.
numbers = {1, 2, 3, 4}
numbers.remove(3)
print(numbers)
اگر عنصر موردنظر در Set وجود نداشته باشد،
remove()
خطا ایجاد میکند.
حذف عنصر با discard()
روش دیگری برای حذف عنصر استفاده از
discard()
است.
numbers = {1, 2, 3, 4}
numbers.discard(3)
print(numbers)
تفاوت مهم این دو متد این است که اگر عنصر وجود نداشته باشد،
discard()
خطا ایجاد نمیکند.
بررسی وجود عنصر با in
با استفاده از
in
میتوانیم بررسی کنیم که یک مقدار در Set وجود دارد یا خیر.
numbers = {1, 2, 3, 4}
print(3 in numbers)
print(10 in numbers)
خروجی:
True
False
حلقه for در Set
میتوانیم با استفاده از حلقه
for
روی عناصر Set حرکت کنیم.
numbers = {1, 2, 3, 4}
for number in numbers:
print(number)
اتحاد دو Set با union()
با استفاده از
union()
میتوانیم عناصر دو مجموعه را با هم ترکیب کنیم.
set1 = {1, 2, 3}
set2 = {3, 4, 5}
result = set1.union(set2)
print(result)
مقدارهای تکراری در نتیجه فقط یک بار قرار میگیرند.
اشتراک دو Set با intersection()
متد
intersection()
عناصر مشترک بین دو مجموعه را برمیگرداند.
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
result = set1.intersection(set2)
print(result)
نتیجه:
{3, 4}
تفاوت دو Set با difference()
با
difference()
میتوانیم عناصری را پیدا کنیم که در مجموعه اول وجود دارند،
اما در مجموعه دوم وجود ندارند.
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
result = set1.difference(set2)
print(result)
نتیجه:
{1, 2}
عملگرهای مهم Set
برای انجام عملیات روی مجموعهها میتوانیم از عملگرهای زیر نیز استفاده کنیم.
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1 | set2)
print(set1 & set2)
print(set1 - set2)
در این مثال:
|برای اتحاد دو Set استفاده میشود.&برای اشتراک دو Set استفاده میشود.-برای تفاوت دو Set استفاده میشود.
تعداد عناصر Set با len()
numbers = {10, 20, 30, 40}
print(len(numbers))
خروجی:
4
تفاوت Set با List و Tuple
| نوع داده | نماد | ترتیب | مقادیر تکراری | قابل تغییر |
|---|---|---|---|---|
| List | [] |
دارد | بله | بله |
| Tuple | () |
دارد | بله | خیر |
| Set | {} |
برای Index استفاده نمیشود | خیر | بله |
یک مثال کاربردی
فرض کنید یک فروشگاه فهرستی از کدهای محصول را دریافت کرده است و بعضی کدها چند بار تکرار شدهاند. میتوانیم با Set مقادیر تکراری را حذف کنیم.
product_codes = [
"A101",
"A102",
"A101",
"A103",
"A102"
]
unique_codes = set(product_codes)
print(unique_codes)
در این مثال، Set باعث میشود هر کد محصول فقط یک بار باقی بماند.
خلاصه دستورات مهم Set
| دستور | کاربرد |
|---|---|
set() |
ساخت Set |
add() |
اضافه کردن عنصر |
remove() |
حذف عنصر |
discard() |
حذف عنصر بدون ایجاد خطا در صورت نبودن عنصر |
union() |
اتحاد دو مجموعه |
intersection() |
عناصر مشترک |
difference() |
تفاوت دو مجموعه |
len() |
تعداد عناصر |
in |
بررسی وجود عنصر |
سوالات متداول
Set در پایتون چیست؟
Set یک نوع داده برای نگهداری مجموعهای از عناصر یکتا است.
آیا Set مقدار تکراری دارد؟
خیر. Set عناصر تکراری را نگهداری نمیکند.
آیا میتوان با Index به عناصر Set دسترسی داشت؟
خیر. Set برای دسترسی به عناصر با Index طراحی نشده است.
تفاوت remove() و discard() چیست؟
اگر عنصر موردنظر وجود نداشته باشد، remove() خطا ایجاد میکند،
اما discard() خطا ایجاد نمیکند.
Set چه کاربردی دارد؟
یکی از کاربردهای مهم Set حذف مقادیر تکراری و انجام عملیات روی مجموعهها مانند اتحاد، اشتراک و تفاوت است.
جمعبندی
Set یکی از ساختارهای داده کاربردی در پایتون است که برای نگهداری عناصر یکتا استفاده میشود.
در این درس با ساخت Set، اضافه و حذف کردن عناصر و عملیات مهمی مانند union، intersection و difference آشنا شدیم.