مجموعه ها (set) در پایتون python
Set یک مجموعه ای است که unindexed و unordered می باشد.از نظر ریاضی مجموعه ها ترتیب خاصی ندارد.
ویژگی های مجموعه set پایتون:
عناصر موجود در مجموعه نمی توانند تکراری باشند.
عناصر موجود در مجموعه تغییر ناپذیر هستند (قابل تغییر نیستند) اما مجموعه به طور کلی قابل تغییر است.
مجموعه ها هیچ اندیس index ندارند بنابراین هیچ عمل برش یا تغییر اندیس روی آنها اجرا نمی شود
نکته:مجموعه ها در پایتون unordered می باشند ، بنابراین شما نمی توانید مطمئن شود آیتم ها به چه ترتیبی ظاهر می شوند.
مقالات
دسترسی به آیتم های مجموعه ها
شما نمی توانید با مراجعه به یک اندیس به آیتم های موجود در یک مجموعه دسترسی پیدا کنید ، زیرا مجموعه ها بدون هماهنگی هستند ودارای اندیس ( شماره خانه در یک جدول ) نیستند.
اما با استفاده از حلقه for میتوانید بین آیتم ها بچرخید یا اینکه با استفاده از کلمه کلیدی in سوال کنید آیا مقدار مشخصی درون مجموعه Set وجو دارد یا خیر.
|
1 2 3 4 |
thisset = {"apple", "banana", "cherry"} for x in thisset: print(x) |
بررسی کنید که آیا “banana” در مجموعه موجود است:
|
1 2 3 |
thisset = {"apple", "banana", "cherry"} print("banana" in thisset) |
ایجاد مجموعه Set در پایتون
مجموعه ای با استفاده از تابع set () یا قرار دادن تمام عناصر درون یک جفت پرانتز مجعد ([ایجاد می شود.
|
1 2 3 4 5 6 7 |
Days=set(["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]) Months={"Jan","Feb","Mar"} Dates={21,22,17} print(Days) print(Months) print(Dates) |
وقتی کد فوق اجرا شد ، نتیجه زیر را ایجاد می کند. لطفاً توجه داشته باشید که چگونه ترتیب عناصر در نتیجه تغییر کرده است.
|
1 2 3 |
set(['Wed', 'Sun', 'Fri', 'Tue', 'Mon', 'Thu', 'Sat']) set(['Jan', 'Mar', 'Feb']) set([17, 21, 22]) |
تغییر آیتم ها
پس از ایجاد مجموعه ، نمی توانید آیتم آن را تغییر دهید ، اما می توانید آیتم جدیدی را اضافه کنید.
اضافه کردن آیتم
برای افزودن یک مورد به یک مجموعه از متد add() استفاده کنید.
برای افزودن بیش از یک مورد به یک مجموعه از متد update () استفاده کنید.
مثال
اضفه کردن آیتم به یک مجموعه با استفاده از متدadd ()
|
1 2 3 4 5 |
thisset = {"apple", "banana", "cherry"} thisset.add("orange") print(thisset) |
اضافه کردن چندین آیتم به مجموعه با استفاده از متد update()
|
1 2 3 4 5 |
thisset = {"apple", "banana", "cherry"} thisset.update(["orange", "mango", "grapes"]) print(thisset) |
دریافت طول مجموعه set
برای تعیین تعداد ایتم در مجموعه ، از متد len () استفاده کنید.
|
1 2 3 |
thisset = {"apple", "banana", "cherry"} print(len(thisset)) |
حذف آیتم
برای حذف یک ایتم در یک مجموعه ، از متد remove () یا discard () استفاده کنید.
مثال
|
1 2 3 4 5 |
thisset = {"apple", "banana", "cherry"} thisset.remove("banana") print(thisset) |
توجه: اگر مورد برای حذف وجود نداشته باشد ، remove () خطایی ایجاد می کند.
همچنین می توانید از pop() ، متد برای حذف یک آیتم استفاده کنید ، اما این متد آخرین آیتم را حذف می کند. به یاد داشته باشید که مجموعه ها unordered هستند ، بنابراین شما نمی دانید چه موردی حذف می شود.
مقدار برگشتی از متد pop () آیتم حذف شده است.
مثال
متد clear مجموعه را خالی می کند
|
1 2 3 4 5 |
thisset = {"apple", "banana", "cherry"} thisset.clear() print(thisset) |
کلمه کلیدی del مجموعه را به طور کامل پاک می کند:
|
1 2 3 4 5 |
thisset = {"apple", "banana", "cherry"} del thisset print(thisset) |
پیوستن دو مجموعه set
روش های مختلفی برای پیوستن به دو یا چند مجموعه در پایتون وجود دارد.
می توانید از متد union() استفاده کنید که مجموعه جدیدی از ترکیب دو مجوعه برگشت می دهید.یا با استفاد از متد update می توان تمام آیتم های یک مجموعه را به مجموعه دیگر وارد کند.
مثال
|
1 2 3 4 5 |
set1 = {"a", "b" , "c"} set2 = {1, 2, 3} set3 = set1.union(set2) print(set3) |
مثال
|
1 2 3 4 5 6 |
set1 = {"a", "b" , "c"} set2 = {1, 2, 3} set1.update(set2) print(set1) |
توجه: هم union () و هم update () موارد تکراری را حذف می کنند.
روش های دیگری وجود دارد که به دو مجموعه می پیوندد و فقط نسخه های تکراری را نگه می دارد ، یا هرگز تکراری ، لیست کامل روشهای مجموعه را در پایین این صفحه بررسی کنید.
سازنده set()
همچنین می توان از سازنده set () برای ساخت مجموعه استفاده کرد.
مثال
|
1 2 |
thisset = set(("apple", "banana", "cherry")) # note the double round-brackets 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() | مجموعه را با اتحادیه این مجموعه و دیگران به روز کنید |
دیدگاهتان را بنویسید