ถ้ามีข้อมูลประเภท Set ตั้งแต่ 2 ชุดขึ้นไป เราสามารถนำ Set เหล่านั้นมารวมกันได้หลายวิธีด้วยกัน
การจอย Set ด้วยเมธอด union() หรือเมธอด update()
เราสามารถจอยหรือรวม Set ตั้งแต่ 2 ชุดขึ้นไปเข้าด้วยกัน ด้วยเมธอด union()
ซึ่งจะได้ Set ใหม่ที่รวมเอาสมาชิกของ Set ทั้งหมดเข้าด้วยกัน
apple = {"iPhone", "iPad", "iPod", "Mac OS"}
android = {"Vivo", "Oppo", "Wiko"}
phone = apple.union(android)
print(phone)
{‘iPad’, ‘iPhone’, ‘iPod’, ‘Wiko’, ‘Vivo’, ‘Oppo’, ‘Mac OS’}
ถ้าจอย 2 Set ขึ้นไป ให้ใช้เครื่องหมายคอมม่า ,
คั่น
apple = {"iPhone", "iPad", "iPod", "Mac OS"}
windows = {"Windows 11", "Windows 10"}
android = {"Vivo", "Oppo", "Wiko"}
items = apple.union(android, windows)
print(items)
{‘Windows 11’, ‘iPod’, ‘Oppo’, ‘Wiko’, ‘Mac OS’, ‘iPad’, ‘Windows 10’, ‘Vivo’, ‘iPhone’}
หรือจะใช้เมธอด update()
ก็ได้ ซึ่งจะเป็นการนำสมาชิกจาก Set ชุดหนึ่งเข้าไปรวมไว้กับ Set อีกชุด
item1 = {"iPhone", "iPad", "iPod", "Mac OS"}
item2 = {"Vivo", "Oppo", "Wiko"}
item1.update(item2)
print(item1)
{‘Oppo’, ‘iPhone’, ‘iPod’, ‘Wiko’, ‘iPad’, ‘Vivo’, ‘Mac OS’}
ถ้าจอย 2 Set ขึ้นไป ให้ใช้เครื่องหมายคอมม่า ,
คั่น
item1 = {"iPhone", "iPad", "iPod", "Mac OS"}
item2 = {"Vivo", "Oppo", "Wiko"}
item3 = {"Windows 10", "Windows 11"}
item1.update(item2, item3)
print(item1)
{‘Vivo’, ‘Wiko’, ‘iPad’, ‘Windows 10’, ‘iPhone’, ‘Oppo’, ‘Windows 11’, ‘Mac OS’, ‘iPod’}
ถ้ามีข้อมูลที่ซ้ำกัน ทั้งเมธอด union()
และ update()
จะนำข้อมูลที่ซ้ำกันออกให้เหลือแค่อันเดียว
item1 = {"iPhone", "iPad", "iPod", "iPod", "Mac OS"}
item2 = {"Vivo", "Oppo", "Wiko", "Wiko"}
item1.update(item2)
print(item1)
{‘Wiko’, ‘iPod’, ‘iPad’, ‘Oppo’, ‘Vivo’, ‘iPhone’, ‘Mac OS’}
การจอยเฉพาะข้อมูลที่เหมือนกัน
ถ้าต้องการจอย Set ตั้งแต่ 2 ชุดขึ้นไป โดยให้คัดเอาเฉพาะข้อมูลที่มีอยู่ในทุก Set สามารถทำได้โดยใช้เมธอด intersection_update()
item1 = {"iPhone", "iPad", "iPod", "iPod", "Mac OS"}
item2 = {"iPad", "Oppo", "Wiko", "iPhone"}
item1.intersection_update(item2)
print(item1)
{‘iPad’, ‘iPhone’}
item1 = {"iPhone", "iPad", "iPod", "iPod", "Mac OS"}
item2 = {"iPad", "Oppo", "Wiko", "iPhone"}
item3 = {"Oppo", "Wiko", "iPhone"}
item1.intersection_update(item2, item3)
print(item1)
{‘iPhone’}
หรือจะใช้เมธอด intersection()
ก็ได้ โดยจะได้ผลลัพธ์เป็น Set ใหม่ที่เก็บเฉพาะข้อมูลที่เหมือนกันในทุก Set
item1 = {"iPhone", "iPad", "iPod", "iPod", "Mac OS"}
item2 = {"iPad", "Oppo", "Wiko", "iPhone"}
myitems = item1.intersection(item2)
print(myitems)
{‘iPhone’, ‘iPad’}
item1 = {"iPhone", "iPad", "iPod", "iPod", "Mac OS"}
item2 = {"iPad", "Oppo", "Wiko", "iPhone"}
item3 = {"Oppo", "Wiko", "iPhone"}
myitems = item1.intersection(item2, item3)
print(myitems)
{‘iPhone’}
การจอยเฉพาะข้อมูลที่ไม่เหมือนกัน
ถ้าต้องการเฉพาะข้อมูลที่ไม่เหมือนกันในทุก Set สามารถทำได้โดยใช้เมธอด symmetric_difference_update()
โดยจะได้ผลลัพธ์เป็นข้อมูลที่ไม่ซ้ำกันในทุก Set
item1 = {"iPhone", "iPad", "iPod", "iPod", "Mac OS"}
item2 = {"iPad", "Oppo", "Wiko", "iPhone"}
item1.symmetric_difference_update(item2)
print(item1)
{‘iPod’, ‘Mac OS’, ‘Wiko’, ‘Oppo’}
หรือจะใช้เมธอด symmetric_difference()
ก็ได้ โดยจะได้ผลลัพธ์เป็น Set ใหม่ ที่เก็บข้อมูลที่ไม่ซ้ำกันในทุก Set
item1 = {"iPhone", "iPad", "iPod", "iPod", "Mac OS"}
item2 = {"iPad", "Oppo", "Wiko", "iPhone"}
myitem = item1.symmetric_difference(item2)
print(myitem)
{‘iPod’, ‘Mac OS’, ‘Oppo’, ‘Wiko’}