به آموزشگاه مجازی سینا خوش آمدید!

آموزش متصل کردن مجموعه ها در پایتون

امتیاز
(0)

در پایتون، راه های مختلفی برای متصل کردن(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

 

  • بازدید: 78

نوشتن دیدگاه

لطفا نظرات خود را بیان کنید. به سوالات در سریع ترین زمان پاسخ داده خواهد شد.اما به نکات زیر توجه کنید:
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.

ارسال