آموزش متصل کردن مجموعه ها در پایتون
در پایتون، راه های مختلفی برای متصل کردن(join) دو یا چند مجموعه(set) وجود دارد.
متدهای union() و update() تمام آیتم های هردو مجموعه را به یکدیگر متصل یا الحاق می کنند.
متد intersection() تنها مقادیر تکراری را نگهداری می کند.
متد difference() آیتم هایی از اولین مجموعه که در دیگر مجموعه یا مجموعه ها حضور ندارند را نگهداری می کند.
متد symmetric_difference() تمام آیتم ها را نگهداری می کند به جز آیتم های تکراری.
متد union() در پایتون
متد union() یک مجموعه ی جدید را برمی گرداند که شامل تمام آیتم های هردو مجموعه ی اصلی می باشد.
مثال شماره 1
متصل کردن set1 و set2 در یک مجموعه ی جدید:
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = set1.union(set2)
print(set3)
نتیجه:
{2, 'b', 3, 1, 'c', 'a'}
امتحان کنیدما می توانیم به جای متد union() از عملگر | استفاده کنیم و نتیجه ی یکسانی را به دست خواهیم آورد:
مثال شماره 2
استفاده از | برای متصل کردن دو مجموعه:
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = set1 | set2
print(set3)
نتیجه:
{'b', 'a', 3, 2, 1, 'c'}
امتحان کنیدمتصل کردن(join) چندین مجموعه در پایتون
از تمام متدها و عملگرهای متصل کردن(join) می توانیم برای متصل کردنِ چندین مجموعه(set)، استفاده کنیم.
وقتی که از یکی از متدهای مذکور استفاده می کنیم، کافیست مجموعه های جدیدی را در بین پرانتزها قرار دهیم، و با استفاده از کاما آنها را از بقیه جدا کنیم:
مثال شماره 3
متصل کردن(join) چندین مجموعه با استفاده از متد union():
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = {"John", "Elena"}
set4 = {"apple", "bananas", "cherry"}
myset = set1.union(set2, set3, set4)
print(myset)
نتیجه:
{2, 'c', Elena, banana, cherry, 3, 1, apple, 'a', 'b', John}
امتحان کنیدهنگامی که از عملگر | استفاده می کنید، مجموعه ها را با استفاده از تعدادی از این عملگر، از یکدیگر جدا کنید:
مثال شماره 4
استفاده از عملگر | برای متصل کردن(join) دو مجموعه:
set1 = {"a", "b", "c"}
set2 = {1, 2, 3}
set3 = {"John", "Elena"}
set4 = {"apple", "bananas", "cherry"}
myset = set1 | set2 | set3 |set4
print(myset)
نتیجه:
{'b', banana, 'a', 3, 1, 2, 'c', cherry, Elena, apple, John}
امتحان کنیدمتصل کردن(Join) یک مجموعه و یک تاپل در پایتون
متد union() به ما امکان می دهد تا یک مجموعه(set) را با دیگر نوعِ داده ها، مانند لیست ها یا تاپل ها join (متصل) کنیم. نتیجه یک مجموعه(set) خواهد بود.
مثال شماره 5
متصل یا join کردن یک مجموعه(set) با یک تاپل:
x = {"a", "b", "c"}
y = (1, 2, 3)
z = x.union(y)
print(z)
نتیجه:
{'c', 1, 3, 2, 'a', 'b'}
امتحان کنیدنکته: عملگر | تنها به ما امکان می دهد تا مجموعه ها را به مجموعه ها متصل(join) کنیم، نه اینکه مجموعه ها را مانند متد union() به دیگر نوع داده ها متصل کنیم؛
متد update() در پایتون
متد update() تمام آیتم ها را از یک مجموعه به یک مجموعه ی دیگر اضافه می کند. متد update() مجموعه ی اصلی را تغییر می دهد و یک مجموعه ی جدید را برنمی گرداند.
مثال شماره 6
متد update() آیتم های درون set2 را به set1 اضافه می کند:
set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}
set1.update(set2)
print(set1)
نتیجه:
{1, 2, 'b', 3, 'c', 'a'}
امتحان کنیدنکته: هردوی متدهای union() و update() تمام آیتم های تکراری را حذف می کنند.
متد intersection() در پایتون
این متد تنها مقادیر تکراری را در خود نگهداری می کند.
متد intersection() یک مجموعه ی جدید را برمی گرداند که تنها حاوی آیتم هایی است که در هردو مجموعه حضور دارند.
مثال شماره 7
متصل کردن set1 و set2 اما فقط دریافت مقادیر تکراری:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.intersection(set2)
print(set3)
نتیجه:
{'apple'}
امتحان کنیدما می توانیم به جای متد intersection() از عملگر & استفاده کنیم و نتیجه ی یکسانی را به دست بیاوریم.
مثال شماره 8
استفاده از عملگر & برای متصل کردن(join) دو مجموعه:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 & set2
print(set3)
نتیجه:
{'apple'}
امتحان کنیدنکته: عملگر & تنها به ما امکان می دهد تا مجموعه ها(set) را به مجموعه ها متصل(join) کنیم، نه با دیگر نوع داده ها؛ مانند کاری که متد intersection() انجام می دهد.
متد intersection_update() هم تنها مقادیر تکراری را نگهداری می کند اما به جای برگرداندن یک مجموعه ی جدید، مجموعه ی اصلی را تغییر می دهد.
مثال شماره 9
نگهداری آیتم هایی که در هر دو مجموعه ی set1 و set2 حضور دارند:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set1.intersection_update(set2)
print(set1)
نتیجه:
{'apple'}
امتحان کنیدمقادیر True و 1 مقادیر مشابهی در نظر گرفته می شوند. همین طور مقادیر False و 0 نیز مشابه با یکدیگر هستند.
مثال شماره 10
جوین(join) کردن مجموعه هایی که حاوی مقادیر True و False و 1 و 0 هستند و مشاهده ی اینکه کدام یک از آنها تکراری در نظر گرفته می شوند:
set1 = {"apple", 1, "banana", 0, "cherry"}
set2 = {False, "google", 1, "apple", 2, True}
set3 = set1.intersection(set2)
print(set3)
نتیجه:
{False, True, 'apple'}
امتحان کنیدمتد difference() در پایتون
متد difference() یک مجموعه ی جدید را برمی گرداند که تنها حاوی آیتم هایی از مجموعه ی اول است که در مجموعه ی دیگر حضور ندارند.
مثال شماره 11
نگهداری از آیتم هایی از set1 که در set2 حضور ندارند:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.difference(set2)
print(set3)
نتیجه:
{'banana', 'cherry'}
امتحان کنیدما می توانیم به جای متد difference() از عملگر - (منها) استفاده کنیم و نتیجه ی یکسانی را به دست بیاوریم.
مثال شماره 12
استفاده از عملگر - برای متصل کردن(join) دو مجموعه:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 - set2
print(set3)
نتیجه:
{'banana', 'cherry'}
امتحان کنیدنکته: عملگر - تنها به نا امکان می دهد تا مجموعه ها را با مجموعه ها جوین(join) کنیم، نه با دیگر نوع داده ها؛ مانند متد difference():
متد difference_update() تمام آیتم های اولین مجموعه که در مجموعه ی دیگر حضور ندارند را حفظ می کند. اما به جای برگرداندن یک مجموعه ی جدید، مجموعه ی اصلی را تغییر می دهد.
مثال شماره 13
استفاده از متد difference_update() برای نگهداری (تنها) آیتم هایی از مجموعه ی اول که در مجموعه ی دیگر حضور ندارند:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set1.difference_update(set2)
print(set1)
نتیجه:
{'banana', 'cherry'}
امتحان کنیدتفاضل متقارن(Symmetric Difference) در پایتون
متد symmetric_difference() تنها، عناصری را نگهداری می کند که در هردو مجموعه حضور نداشته باشند.
مثال شماره 14
گرفتن آیتم هایی که در هردو مجموعه حضور ندارند:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1.symmetric_difference(set2)
print(set3)
نتیجه:
{'google', 'banana', 'microsoft', 'cherry'}
امتحان کنیدما می توانیم از عملگر ^ به جای متد symmetric_difference() استفاده کنیم و نتیجه ی یکسانی را به دست بیاوریم.
مثال شماره 15
استفاده از عملگر ^ برای متصل کردن(join) دو مجموعه:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set3 = set1 ^ set2
print(set3)
نتیجه:
{'google', 'banana', 'microsoft', 'cherry'}
امتحان کنیدنکته: عملگر ^ تنها به ما امکان می دهد تا مجموعه ها را به مجموعه ها متصل کنیم، نه با دیگر نوعِ داده ها؛ مانند متد symmetric_difference().
متد symmetric_difference_update() نیز تمام آیتم ها را حفظ می کند به جز آیتم های تکراری؛ اما به جای برگرداندن یک مجموعه ی جدید، مجموعه ی اصلی را تغییر می دهد.
مثال شماره 16
استفاده از متد symmetric_difference_update() برای گرفتن آیتم هایی که در هردو مجموعه حضور نداشته باشند:
set1 = {"apple", "banana", "cherry"}
set2 = {"google", "microsoft", "apple"}
set1.symmetric_difference_update(set2)
print(set1)
نتیجه:
{'google', 'banana', 'microsoft', 'cherry'}
امتحان کنید
منبع: www.w3schools.com/python
- بازدید: 79
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.