مجموعه‌ها

از ویکی‌کد
پرش به ناوبری پرش به جستجو
Main Page Tutorial
Python-menu.png
موارد آموزشی
۱خانه
۲مقدمه
۳شروع کار
۴دستور زبان
۵توضیحات
۶متغیرها
۷انواع داده‌ها
۸اعداد
۹تبدیل نوع
۱۰رشته‌ها
۱۱Booleans
۱۲عملگرها
۱۳لیست‌ها
۱۴تاپل‌ها
۱۵مجموعه‌ها
۱۶دیکشنری‌ها
۱۷If...Else
۱۸حلقهٔ While
۱۹حلقهٔ For
۲۰توابع
۲۱Lambda
۲۲آرایه‌ها
۲۳کلاس‌ها / اشیاء
۲۴ارث‌بری
۲۵Iteratorها
۲۶دامنه
۲۷ماژول‌ها
۲۸تاریخ و زمان
۲۹JSON
۳۰RegEx
۳۱PIP
۳۲Try...Except
۳۳ورودی کاربر
۳۴قالب‌بندی رشته
مدیریت فایل
یادگیری ماشین
MySQL در پایتون
MongoDB در پایتون
مرجع پایتون
مرجع ماژول
چگونه در پایتون؟
مثال‌های پایتون

مجموعه یک collection نامرتب و بدون اندیس است. در پایتون مجموعه‌ها داخل آکولادها نوشته می‌شوند.[۱]

مثال

یک مجموعه ایجاد می‌کند:

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


مشاهدهٔ نتیجه


توجه: مجموعه‌ها نامرتب هستند، بنابرایت نمی‌توان مطمئن بود که آیتم‌ها به چه ترتیبی نمایش داده می‌شوند.

دسترسی به آیتم‌ها

از آنجایی که مجموعه‌ها نامرتب هستند و آیتم‌ها اندیس ندارند، نمی‌توانید با ارجاع زدن به عدد اندیس به آیتم‌های مجموعه دسترسی داشته باشید.

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

مثال

در مجموعه می‌چرخد و مقادیر را چاپ می‌کند:

1 thisset = {"apple", "banana", "cherry"}
2 
3 for x in thisset:
4   print(x)


مشاهدهٔ نتیجه


مثال

وجود “banana” در مجموعه را بررسی می‌کند:

1 thisset = {"apple", "banana", "cherry"}
2 
3 print("banana" in thisset)


مشاهدهٔ نتیجه


تغییر آیتم‌ها

پس از ایجاد مجموعه، نمی‌توانید آیتم‌های آن را تغییر دهید اما می‌توانید به آن آیتم اضافه کنید.

اضافه کردن آیتم‌ها

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

برای اضافه کردن بیش از یک آیتم به مجموعه از متد update() استفاده کنید.

مثال

یک آیتم را با استفاده از متد add() به مجموعه اضافه می‌کند:

1 thisset = {"apple", "banana", "cherry"}
2 
3 thisset.add("orange")
4 
5 print(thisset)


مشاهدهٔ نتیجه


مثال

چند آیتم را با استفاده از متد update() به مجموعه اضافه می‌کند:

1 thisset = {"apple", "banana", "cherry"}
2 
3 thisset.update(["orange", "mango", "grapes"])
4 
5 print(thisset)


مشاهدهٔ نتیجه


به دست آوردن طول یک مجموعه

برای تعیین تعداد آیتم‌های داخل مجموعه، از متد len() استفاده می‌شود.

مثال

تعداد آیتم‌های مجموعه را به دست می‌آورد:

1 thisset = {"apple", "banana", "cherry"}
2 
3 print(len(thisset))


مشاهدهٔ نتیجه


حذف آیتم

برای حذف یک آیتم در مجموعه، از متد remove() یا discard() استفاده می‌شود.

مثال

با استفاده از متد remove() آیتم "banana" را حذف می‌کند:

1 thisset = {"apple", "banana", "cherry"}
2 
3 thisset.remove("banana")
4 
5 print(thisset)


مشاهدهٔ نتیجه


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

مثال

با استفاده از متد discard() آیتم "banana" را حذف کنید:

1 thisset = {"apple", "banana", "cherry"}
2 
3 thisset.discard("banana")
4 
5 print(thisset)


مشاهدهٔ نتیجه


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

همچینین می‌توانید از متد pop() برای حذف یک آیتم استفاده کنید، اما این متد آخرین آیتم را حذف می‌کند. به یاد داشته داشته باشید که مجموعه‌ها نامرتب هستند بنابراین شما نمی‌دانید کدام آیتم حذف خواهد شد.

مقدار برگردانده شدهٔ متد pop() آیتم حذف شده‌است.

مثال

آخرین آیتم را با استفاده از متد pop() حذف کنید:

1 thisset = {"apple", "banana", "cherry"}
2 
3 x = thisset.pop()
4 
5 print(x)
6 
7 print(thisset)


مشاهدهٔ نتیجه


توجه: مجموعه‌ها نامرتب هستند بنابراین هنگام استفاده از متد pop() نمی‌دانید کدام آیتم حذف شده‌است.

مثال

متد clear() مجموعه را خالی می‌کند:

1 thisset = {"apple", "banana", "cherry"}
2 
3 thisset.clear()
4 
5 print(thisset)


مشاهدهٔ نتیجه


مثال

کلمه کلیدی del کل مجموعه را حذف خواهد کرد:

1 thisset = {"apple", "banana", "cherry"}
2 
3 del thisset
4 
5 print(thisset)


مشاهدهٔ نتیجه


الحاق (به انگلیسی: Join) دو مجموعه

در پایتون روش‌های زیادی برای join دو یا چند مجموعه وجود دارد.

می‌توانید از متد union() که مجموعهٔ جدیدی شامل اعضای هردو مجموعه ایجاد می‌کند استفاده کنید یا از متد update() که همهٔ آیتم‌های یک مجموعه را در مجموعهٔ دیگری وارد می‌کند استفاده کنید:

مثال

متد union() مجموعه جدیدی با همهٔ آیتم‌های هردو مجموعه ایجاد می‌کند:

1 set1 = {"a", "b" , "c"}
2 set2 = {1, 2, 3}
3 
4 set3 = set1.union(set2)
5 print(set3)


مشاهدهٔ نتیجه


مثال

متد update() همهٔ آیتم‌های set2 را در Set1 وارد می‌کند:

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


مشاهدهٔ نتیجه


توجه: هردو متد union() و update() آیتم‌های تکراری را کنار می‌گذارد.

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

سازنده set()

همچنین استفاده از سازنده set() برای ایجاد یک مجموعه نیز ممکن است.

مثال

از سازنده set() برای ایجاد یک مجموعه استفاده کنید:

1 thisset = set(("apple", "banana", "cherry")) # note the double round-brackets
2 print(thisset)


مشاهدهٔ نتیجه


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

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

متد تعریف
add() عنصری به مجموعه اضافه می‌کند
clear() همهٔ عنصرها را از مجموعه حذف می‌کند
copy() یک کپی از مجموعه برمی‌گرداند
difference() یک مجموعه شامل تفاوت‌های بین دو یا چند مجموعه برمی‌گرداند
difference_update() آیتم‌های داخل این مجموعه که در مجموعه دیگر (مجموعه ای خاص) هم هست حذف می‌کند
discard() آیتم‌های مشخص شده را حذف می‌کند
intersection() مجموعه ای را برمی‌گرداند که اشتراک دو مجموعه است
intersection_update() آیتم‌هایی در این مجموعه را که در مجموعه دیگر (مجموعه خاص) نیستند حذف می‌کند
isdisjoint() اگر دو مجموعه اشتراک داشته باشند یا نه را برمی‌گرداند
issubset() بیان می‌کند آیا مجموعه دیگر شامل این مجموعه می‌شود یا نه
issuperset() بیان می‌کند آیا مجموعه دیگر شامل این مجموعه می‌شود یا نه
pop() عنصری را از یک مجموعه حذف می‌کند
remove() عنصر خاصی را برمی‌گرداند
symmetric_difference() مجموعه ای با تفاوت‌های متقارن دو مجموعه برمی‌گرداند
symmetric_difference_update() تفاوت‌های متقارن را از این مجموعه به مجموعه دیگر وارد می‌کند
union() مجموعه ای شامل اجتماع مجموعه‌ها برمی‌گرداند
update() مجموعه را با اجتماع این مجموعه و دیگری بروزرسانی می‌کند


منابع آموزشی