ตอนที่ 108 ลบข้อมูลที่ไม่เหมือนกันออกจาก Set ด้วยเมธอด intersection_update()

เมธอด intersection_update() ใช้สำหรับลบข้อมูลใน Set ที่ไม่ปรากฏอยู่ในเซ็ทอื่น มีรูปแบบการใช้งานดังนี้

set.intersection_update(set1, set2 ... etc)
  • set1 คือข้อมูลแบบ Set ที่ต้องการนำมาเปรียบเทียบหาข้อมูลที่ซ้ำกัน (ต้องมี)
  • set2 คือข้อมูลแบบ Set ที่ต้องการนำมาเปรียบเทียบเพิ่มเติม (ไม่มีก็ได้)

เมธอด intersection_update() จะลบข้อมูลจาก Set ต้นทาง ที่ไม่มีใน Set ที่นำมาเปรียบเทียบ ดังตัวอย่าง

a = {"Asus", "Lenovo", "Acer"}
b = {"Microsoft", "Dell", "MSI", "Lenovo"}
a.intersection_update(b)
print(a)
  • บรรทัดที่ 3 ใช้เมธอด intersection_update() เพื่อเปรียบเทียบเซ็ท a กับเซ็ท b และลบข้อมูลในเซ็ท a ที่ไม่มีในเซ็ท b

ผลลัพธ์ ข้อมูลในเซ็บ a จะเหลือเฉพาะข้อมูลที่เหมือนกันกับเซ็ท b

{‘Lenovo’}

การเปรียบเทียบกับหลายเซ็ท

a = {"Asus", "Lenovo", "Acer"}
b = {"Microsoft", "Dell", "MSI", "Lenovo"}
c = {"MSI", "Apple", "HP", "Lenovo"}
a.intersection_update(b,c)
print(a)

{‘Lenovo’}

ข้อแตกต่างระหว่างเมธอด intersection_update() กับเมธอด intersection() คือ

  • เมธอด intersection() จะคืนค่าเป็นเซ็ทใหม่ที่ไม่มีข้อมูลที่ไม่ต้องการ
  • เมธอด intersection_update() จะลบข้อมูลที่ไม่ต้องการออกจากเซ็ทต้นทาง