Python ตอนที่ 100 การ Join ข้อมูลใน Set

ถ้ามีข้อมูลประเภท 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)

ถ้าจอย 2 Set ขึ้นไป ให้ใช้เครื่องหมายคอมม่า , คั่น

apple = {"iPhone", "iPad", "iPod", "Mac OS"}

windows = {"Windows 11", "Windows 10"}

android = {"Vivo", "Oppo", "Wiko"}

items = apple.union(android, windows)

print(items)

หรือจะใช้เมธอด update() ก็ได้ ซึ่งจะเป็นการนำสมาชิกจาก Set ชุดหนึ่งเข้าไปรวมไว้กับ Set อีกชุด

item1 = {"iPhone", "iPad", "iPod", "Mac OS"}

item2 = {"Vivo", "Oppo", "Wiko"}

item1.update(item2)

print(item1)

ถ้าจอย 2 Set ขึ้นไป ให้ใช้เครื่องหมายคอมม่า , คั่น

item1 = {"iPhone", "iPad", "iPod", "Mac OS"}

item2 = {"Vivo", "Oppo", "Wiko"}

item3 = {"Windows 10", "Windows 11"}

item1.update(item2, item3)

print(item1)

ถ้ามีข้อมูลที่ซ้ำกัน ทั้งเมธอด union() และ update() จะนำข้อมูลที่ซ้ำกันออกให้เหลือแค่อันเดียว

item1 = {"iPhone", "iPad", "iPod", "iPod", "Mac OS"}

item2 = {"Vivo", "Oppo", "Wiko", "Wiko"}

item1.update(item2)

print(item1)

การจอยเฉพาะข้อมูลที่เหมือนกัน

ถ้าต้องการจอย Set ตั้งแต่ 2 ชุดขึ้นไป โดยให้คัดเอาเฉพาะข้อมูลที่มีอยู่ในทุก Set สามารถทำได้โดยใช้เมธอด intersection_update()

item1 = {"iPhone", "iPad", "iPod", "iPod", "Mac OS"}

item2 = {"iPad", "Oppo", "Wiko", "iPhone"}

item1.intersection_update(item2)

print(item1)
item1 = {"iPhone", "iPad", "iPod", "iPod", "Mac OS"}

item2 = {"iPad", "Oppo", "Wiko", "iPhone"}

item3 = {"Oppo", "Wiko", "iPhone"}

item1.intersection_update(item2, item3)

print(item1)

หรือจะใช้เมธอด intersection() ก็ได้ โดยจะได้ผลลัพธ์เป็น Set ใหม่ที่เก็บเฉพาะข้อมูลที่เหมือนกันในทุก Set

item1 = {"iPhone", "iPad", "iPod", "iPod", "Mac OS"}

item2 = {"iPad", "Oppo", "Wiko", "iPhone"}

myitems = item1.intersection(item2)

print(myitems)
item1 = {"iPhone", "iPad", "iPod", "iPod", "Mac OS"}

item2 = {"iPad", "Oppo", "Wiko", "iPhone"}

item3 = {"Oppo", "Wiko", "iPhone"}

myitems = item1.intersection(item2, item3)

print(myitems)

การจอยเฉพาะข้อมูลที่ไม่เหมือนกัน

ถ้าต้องการเฉพาะข้อมูลที่ไม่เหมือนกันในทุก Set สามารถทำได้โดยใช้เมธอด symmetric_difference_update() โดยจะได้ผลลัพธ์เป็นข้อมูลที่ไม่ซ้ำกันในทุก Set

item1 = {"iPhone", "iPad", "iPod", "iPod", "Mac OS"}

item2 = {"iPad", "Oppo", "Wiko", "iPhone"}

item1.symmetric_difference_update(item2)

print(item1)

หรือจะใช้เมธอด symmetric_difference() ก็ได้ โดยจะได้ผลลัพธ์เป็น Set ใหม่ ที่เก็บข้อมูลที่ไม่ซ้ำกันในทุก Set

item1 = {"iPhone", "iPad", "iPod", "iPod", "Mac OS"}

item2 = {"iPad", "Oppo", "Wiko", "iPhone"}

myitem = item1.symmetric_difference(item2)

print(myitem)