پیشنهاد شگفت‌انگیز سبزلرن: 50% تخفیف خرید دوره بوت استرپ
مشاهده دوره
ثانیه
دقیقه
ساعت
روز

آموزش Set در پایتون

شقایق ستیه نیا
1402/12/21
3805
آموزش Set در پایتون

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

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

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

بنابراین، با ما همراه باشید و با این مفهوم مهم و کاربردی در زبان برنامه‌نویسی پایتون آشنا شوید تا بتوانید در پروژه‌های خود از آن بهره ببرید. آماده‌اید؟ پس همین حالا با ما همراه شوید و دنیای Set در پایتون را کشف کنید.

اموزش پایتون

 Set چیست؟

Set در زبان برنامه‌نویسی پایتون یکی از داده‌ساختارهای مهم و کاربردی است که مجموعه‌ای از عناصر منحصربه‌فرد را ذخیره می‌کند. یک Set همگی از عناصر منحصربه‌فرد و بدون ترتیب است، به این معنا که ترتیب عناصر در آن اهمیتی ندارد و هر عنصر تنها یک بار در Set وجود دارد.

Set‌ها در پایتون با استفاده از زوج‌های مقدار (value) و کلید (key) نشان داده نمی‌شوند، بلکه فقط مجموعه‌ای از عناصر منحصربه‌فرد را نشان می‌دهند. برای ساخت یک Set، می‌توان از علامت زوج‌های آکولاد {} استفاده کرد و عناصر را با کاما جدا کرد.

با استفاده از Set، می‌توانید به راحتی عملیاتی همچون اضافه کردن عناصر، حذف عناصر، بررسی وجود عناصر، انجام عملیات مقایسه‌ای و … را انجام دهید که در مدیریت و پردازش داده‌ها بسیار مفید هستند.

ساخت Set در پایتون

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

اینجا چند نمونه از ساخت Set در پایتون را باهم برسی میکنیم:

ساخت یک Set خالی

empty_set = set()
print(empty_set)

ساخت یک Set از اعداد صحیح

numbers = {1, 2, 3, 4, 5}
print(numbers)

خروجی:

{1, 2, 3, 4, 5}

ساخت یک Set از رشته‌ها

fruits = {"apple", "banana", "orange"}
print(fruits)

خروجی:

 Apple banana  orange

ساخت یک Set از لیست

my_list = [1, 2, 3, 4, 5]
set_from_list = set(my_list)
print(set_from_list)

خروجی:

{1, 2, 3, 4, 5}

ساخت یک Set از ترکیب داده‌های مختلف

mixed_set = {"apple", 3.14, (1, 2, 3)}
print(mixed_set)

خروجی:

{'apple', 3.14, (1, 2, 3)}

توجه داشته باشید که Set ها در پایتون عناصر خود را بدون ترتیب نگه می‌دارند و هر عنصر تنها یک بار در Set وجود دارد.

دسترسی به عناصر و نمایش آنها در Set

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

استفاده از حلقه for

با استفاده از حلقه for می‌توانید به صورت ترتیبی در تمامی عناصر Set حرکت کنید و عملیات مورد نیاز خود را انجام دهید.

my_set = {1, 2, 3, 4}
for item in my_set:
    print(item)

این کد تمامی عناصر Set را به ترتیب نمایش میدهد.

تبدیل Set به لیست

می‌توانید Set را به لیست تبدیل کرده و سپس از این لیست برای دسترسی به عناصر استفاده کنید.

my_set = {1, 2, 3, 4}
my_list = list(my_set)
print(my_list)

این کد Set را به لیست تبدیل کرده و سپس لیست را نمایش می‌دهد. در این صورت می‌توانید با استفاده از اندیس‌ها به عناصر دسترسی پیدا کنید.

به طور کلی، استفاده از حلقه for برای گردش در عناصر Set بهترین روش است، زیرا Set ها به طور طبیعی بدون ترتیب هستند و ترتیب عناصر آنها ممکن است هر بار که برنامه اجرا می‌شود تغییر کند.

Set در پایتون

اندازه‌گیری طول یک Set

در پایتون، اندازه‌گیری طول یک Set بسیار ساده است. می‌توانید از تابع ()len استفاده کنید تا تعداد عناصر موجود در Set را بدست آورید.  این تابع به شما اندازه Set را برمی‌گرداند، بنابراین می‌توانید به راحتی تعداد کلمات یا عناصر موجود در Set را به دست آورید.

به عنوان مثال:

my_set = {"apple", "banana", "orange", "grape", "pineapple"}
size = len(my_set)
print("تعداد کلمات  Set:", size)

خروجی:

 تعداد کلمات Set : 5

استفاده از این تابع بسیار ساده است و برای اندازه‌گیری طول Set به شما کمک می‌کند.

Set در پایتون

جست و جوی آیتم‌های مختلف در مجموعه

در پایتون، برای جستجوی آیتم‌های مختلف در یک مجموعه (Set)، می‌توانید از عبارت شرطی in استفاده کنید. این عبارت شرطی بررسی می‌کند که آیا یک عنصر خاص در مجموعه موجود است یا خیر.

به عنوان مثال:

my_set = {"apple", "banana", "orange", "grape", "pineapple"}
# در مجموعه "banana" بررسی وجود عنصر
if "banana" in my_set:
    print("میوه banana یافت شد!")
else:
    print("میوه banana یافت نشد!")
# در مجموعه "watermelon" بررسی وجود عنصر
if "watermelon" in my_set:
    print("میوه watermelon یافت شد!")
else:
    print("میوه watermelon یافت نشد!")

این کد ابتدا وجود میوه banana را بررسی می‌کند و اگر در مجموعه باشد، پیام (میوه banana یافت شد!) را چاپ می‌کند. سپس، وجود میوه watermelon را بررسی می‌کند و در صورت عدم وجود، پیام (میوه watermelon یافت نشد!) را چاپ می‌کند.

نحوه اضافه کردن یک آیتم به Set

برای اضافه کردن یک آیتم به Set در پایتون، می‌توانید از متد ()add استفاده کنید. این متد یک عنصر جدید را به مجموعه اضافه می‌کند.

به عنوان مثال:

my_set = {"apple", "banana", "orange"}
# به مجموعه "grape" اضافه کردن عنصر
my_set.add("grape")
print(my_set)

خروجی:

 apple  banana  orange  grape

در این مثال، عنصر grape به مجموعه اضافه شده است. توجه داشته باشید که اگر عنصری که می‌خواهید اضافه کنید، قبلاً در مجموعه وجود داشته باشد، تغییری اعمال نخواهد شد و مجموعه همچنان حاوی عناصر منحصر به فرد خود خواهد بود.

اموزش پایتون

حذف یک عنصر از Set

برای حذف یک عنصر از Set در پایتون، می‌توانید از دو متد remove و discard استفاده کنید. این دو متد به طور مشابه عمل می‌کنند، با این تفاوت که اگر عنصر مورد نظر وجود نداشته باشد، remove یک خطای KeyError ایجاد می‌کند در حالی که discard این کار را انجام نمی‌دهد و بی‌اطلاع از وجود یا عدم وجود عنصر خارج می‌شود.

به عنوان مثال:

my_set = {"apple", "banana", "orange", "grape"}
# remove() با استفاده از  "banana" حذف عنصر
my_set.remove("banana")
print(my_set)

خروجی:

{'apple', 'orange', 'grape'}

حذف عنصر “watermelon” با استفاده از  ()discard

my_set.discard("watermelon")
print(my_set)

خروجی:

{'apple', 'orange', 'grape'}

در این مثال، عنصر banana ابتدا با استفاده از ()remove حذف شده است و سپس با استفاده از ()discard عنصر watermelon که در مجموعه وجود ندارد، حذف نشده است.

Set در پایتون

تبدیل Set به لیست در پایتون

تبدیل یک Set به یک لیست در پایتون بسیار ساده است. برای این کار، می‌توانید از تابع list() استفاده کنید که یک مجموعه داده را به یک لیست تبدیل می‌کند.

به عنوان مثال:

my_set = {"apple", "banana", "orange", "grape", "pineapple", "kiwi", "mango", "watermelon", "cherry", "strawberry"}

تبدیل Set به لیست

my_list = list(my_set)
print(my_list)

خروجی:

watermelon orange mango kiwi banana cherry apple grape strawberry pineapple

در این مثال، Set ما به لیست تبدیل شده و در my_list ذخیره شده است. توجه داشته باشید که ترتیب عناصر در لیست ممکن است متفاوت باشد زیرا Set ها بدون ترتیب هستند.

Immutable در Set یعنی چه؟

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

این ویژگی از Set به این معنا است که Set ها immutable هستند. بر خلاف دیکشنری‌ها (Dictionaries) که mutable هستند و می‌توانید مقادیر مربوط به کلیدهای آنها را تغییر دهید، یا لیست‌ها (Lists) که نیز mutable هستند و می‌توانید عناصر آنها را تغییر دهید، Set ها immutable می‌باشند.

این ویژگی از Set مفید است زیرا باعث می‌شود که داده‌های موجود در Set به صورت منظم و بدون تغییر باقی بمانند، که این ویژگی در بسیاری از مواقع مورد استفاده قرار می‌گیرد، به ویژه زمانی که شما نیاز دارید تا از داده‌های یکتا و بدون تکرار استفاده کنید.

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

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

1 | استفاده از عملگر | (OR)

با استفاده از این عملگر، می‌توانید دو مجموعه را با یکدیگر ادغام کنید و تمام عناصر یکتای موجود در هر دو مجموعه را در نتیجه ادغام بگیرید.

set1 = {1, 2, 3}
set2 = {3, 4, 5}
merged_set = set1 | set2
print(merged_set)

خروجی:

{1, 2, 3, 4, 5}

2 | استفاده از متد ()union

متد ()union همانند استفاده از عملگر | عمل می‌کند و دو مجموعه را ادغام می‌کند

set1 = {1, 2, 3}
set2 = {3, 4, 5}
merged_set = set1.union(set2)
print(merged_set)

خروجی:

{1, 2, 3, 4, 5}

3 | استفاده از متد ()update

متد ()update یک مجموعه را با عناصر یک مجموعه دیگر به‌روز می‌کند. این متد در واقع مجموعه اولیه را تغییر می‌دهد و عناصر مجموعه دوم را به آن اضافه می‌کند.

set1 = {1, 2, 3}
set2 = {3, 4, 5}
set1.update(set2)
print(set1)

خروجی:

{1, 2, 3, 4, 5}

این روش‌ها همگی برای ادغام مجموعه‌ها مناسب هستند و بسته به ترجیحات و نیازهای شما می‌توانید از یکی از آنها استفاده کنید.

پیدا کردن اشتراک دو مجموعه در پایتون

در پایتون، برای پیدا کردن اشتراک (عناصر مشترک) دو مجموعه از set ها، می‌توانید از متد ()intersection یا عملگر & استفاده کنید. این دو روش به یک نتیجه می‌انجامند.

اینجا یک مثال نمایش داده شده است:

set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}

با استفاده از متد  ()intersection

intersection_set = set1.intersection(set2)
print(intersection_set)

خروجی:

{4, 5}

با استفاده از عملگر &

intersection_set = set1 & set2
print(intersection_set)

خروجی:

{4, 5}

در این مثال، اشتراک دو مجموعه set1 و set2 محاسبه شده و عناصر مشترک آنها به صورت یک مجموعه جدید به نام intersection_set اختصاص داده شده است.

Frozenset چیست؟

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

frozenset در واقع یک مجموعه immutable از عناصر است و به همین دلیل مناسب است که در مواردی که نیاز به یک مجموعه immutable داریم، از آن استفاده کنیم. برخلاف set که mutable است و می‌توان عناصر آن را تغییر داد، frozenset به عنوان یک مجموعه immutable تلقی می‌شود که عملیات تغییر دادنی را پشتیبانی نمی‌کند.

به عنوان مثال، اگر بخواهید یک مجموعه از اعداد immutable ایجاد کنید و از آن برای استفاده در محیط‌هایی که نیاز به داده‌های immutable دارند استفاده کنید، می‌توانید از `frozenset` استفاده کنید.

متدهای پرکاربرد Set در پایتون

در پایتون، Set دارای متدهای مختلفی است که برای انجام عملیات مختلفی مانند اضافه کردن عناصر، حذف عناصر، ادغام مجموعه‌ها، چک کردن وجود عناصر و … استفاده می‌شوند. در زیر، متدهای پرکاربرد Set در پایتون را بررسی می‌کنیم:

نام متد توضیحات
add(element) عنصر جدیدی را به مجموعه اضافه می‌کند.
clear() برای حذف تمام عناصر از Set استفاده می‌شود.
copy() برای ایجاد یک کپی از Set استفاده می‌شود.
difference(other_set) برای بازگرداندن یک Set که عناصر را که در Set اول وجود دارند اما در Set دوم وجود ندارند شامل می‌شود.
intersection(other_set) برای بازگرداندن یک Set که عناصری را که در هر دو Set وجود دارند را شامل می‌شود.
isdisjoint(other_set) بررسی می‌کند که آیا مجموعه فعلی و other_set  عنصر مشترکی دارند یا خیر.
pop() برای حذف و بازگرداندن یک عنصر تصادفی از Set استفاده می‌شود. اگر Set خالی باشد، یک خطای KeyError ایجاد می‌شود.
remove(element) برای حذف یک عنصر خاص از Set استفاده می‌شود. در صورتی که عنصر مورد نظر وجود نداشته باشد، یک خطای KeyError ایجاد می‌شود.
update(other_set) عناصر other_set را به مجموعه فعلی اضافه می‌کند.
union(other_set) برای ادغام دو Set و بازگرداندن یک Set جدید که ترکیبی از هر دو Set استفاده می‌شود.

این متدها تنها چند مثال از متدهای پرکاربرد Set در پایتون هستند. هر کدام از این متدها می‌توانند در بسیاری از شرایط مفید باشند و به شما کمک می‌کنند تا با Set ها به طریقی کارآمد و موثر کار کنید.

مثالهای عملی استفاده از Set در پایتون

استفاده از Set برای بسیاری از وظایف مفید است. در زیر، چند مثال عملی از استفاده از مجموعه ها در پایتون را بررسی می‌کنیم:

1 | حذف عناصر تکراری از لیست

می‌توان از Set برای حذف عناصر تکراری از یک لیست استفاده کرد. به عنوان مثال:

my_list = [1, 2, 3, 1, 2, 4, 5]
unique_items = set(my_list)
print(unique_items)

خروجی:

{1, 2, 3, 4, 5}

2 | چک کردن وجود عنصر در یک مجموعه

می‌توان از Set برای چک کردن وجود یک عنصر در یک مجموعه استفاده کرد. به عنوان مثال:

my_set = {1, 2, 3, 4, 5}
print(3  in  my_set)

خروجی:

True

3 | عملیات ادغام و تفاضل مجموعه‌ها

می‌توان از Set برای انجام عملیات ادغام و تفاضل بین دو مجموعه استفاده کرد. به عنوان مثال:

set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}

ادغام مجموعه‌ها

union_set = set1.union(set2)
print(union_set)

خروجی:

 {1, 2, 3, 4, 5, 6}

تفاضل مجموعه‌ها

difference_set = set1.difference(set2)
print(difference_set)

خروجی:

 {1, 2}

4 |  چک کردن ترتیب بین داده‌ها

Set ها در پایتون بدون ترتیب هستند. بنابراین، می‌توانید از Set برای چک کردن ترتیب بین داده‌ها استفاده کنید. به عنوان مثال:

my_set = {3, 1, 4, 2, 5}
print(my_set)

خروجی:

 {1, 2, 3, 4, 5}

این تنها چند مثال از استفاده‌های عملی Set در پایتون هستند. Set ها به عنوان یک داده‌ساختار مفید و کارآمد برای حفظ مجموعه‌های منحصر به فرد در پایتون شناخته می‌شوند.

چگونه در پایتون حرفه‌ای‌تر شویم؟

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

با خواندن مقالات مختلف احتمالا بتوانید تا حدی به بخش‌های مختلف پایتون مسلط شوید اما قطعا بی‌برنامه بودن و اصولی نبودن مسیر یادگیری باعث می‌شود شما نسبت به زبان برنامه نویسی پایتون دلسرد شوید یا اینکه آن را بصورت کامل یاد نگیرید؛ اما نگران این موضوع نباشید، تیم سبزلرن برای شما آموزش صفر تا صد پایتون را بصورت کاملا رایگان قرار داده تا بتوانید به‌صورت اصولی و حرفه‌ای در زبان پایتون متخصص شوید. اما این همه ماجرا نیست!! این دوره علاوه بر رایگان بودن آن، دارای پشتیبانی انلاین نیز هست و هرکجا به هر مشکلی برخوردید، افراد متخصص در این زبان آماده پاسخگویی به اشکالات و سوالات شما هستند، چی بهتر از این؟ پس فرصت را غنیمت بشمرید و همین الان در این دوره شرکت کنید و بصورت تخصصی یادگیری خودتان را شروع کنید.

اموزش پایتون

نظرات
ثبت نظر جدید

نظری برای این مقاله ثبت نشده است

آموزش پایتون