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

เราสามารถลบข้อมูลใน Set ได้โดยใช้เมธอด remove() หรือ discard()

ตัวอย่างการลบข้อมูลด้วยเมธอด remove()

myset = {"iPhone", "iPad", "iPod"}

myset.remove("iPhone")

print(myset)

# {'iPad', 'iPod'}

แต่ต้องระวังให้ดี เพราะการลบข้อมูลใน Set ด้วยเมธอด remove() ถ้าข้อมูลน้้นไม่มีอยู่ใน Set จะทำให้เกิด Error ขึ้น

myset = {"iPhone", "iPad", "iPod"}

myset.remove("iloveu")

ตัวอย่างการลบข้อมูลด้วยเมธอด discard()

myset = {"iPhone", "iPad", "iPod"}

myset.discard("iPod")

print(myset)

# {'iPad', 'iPhone'}

การลบข้อมูลใน Set ด้วยเมธอด discard() นั้น ถึงแม้ว่าข้อมูลที่ระบุให้ลบจะไม่มีอยู่ใน Set ก็จะไม่เกิด Error ใด ๆ

myset = {"iPhone", "iPad", "iPod"}

myset.discard("iPodxx")

print(myset)

# {'iPad', 'iPod', 'iPhone'}

การลบข้อมูลใน Set ด้วยเมธอด pop()

เราสามารถลบข้อมูลใน Set ด้วยเมธอด pop() ได้ด้วย โดยการใช้เมธอดนี้ จะเป็นการลบข้อมูลลำดับสุดท้ายใน Set

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

โดยการการลบข้อมูลด้วยเมธอด pop() นั้น จะคืนค่ากลับมาเป็นข้อมูลที่ถูกลบ

myset = {"iPhone", "iPad", "iPod"}

pop = myset.pop()

print(pop)

print(myset)

# ข้อมูลที่ถูกลบจาก Set
# iPod

#ข้อมูลที่เหลืออยู่ใน Set
# {'iPhone', 'iPad'}

ลบข้อมูลทั้งหมดจาก Set ด้วยเมธอด clear()

เราสามารถลบข้อมูลทุกตัวออกจาก Set ได้ด้วยการใช้เมธอด clear() โดยข้อมูลใน Set จะถูกลบออกทั้งหมด เหลือเพียง Set ว่าง

myset = {"iPhone", "iPad", "iPod"}

myset.clear()

print(myset)

# set()

ลบ Set ด้วยคีย์เวิร์ด del

เราสามารถลบ Set ทิ้งไปเลยก็ได้โดยใช้คีย์เวิร์ด del โดย Set นั้นพร้อมทั้งข้อมูลจะถูกลบทิ้งไปทั้งหมด จะไม่สามารถเรียกใช้อีกได้ ถ้ามีการเรียกใช้ Set ที่ถูกลบด้วยคีย์เวิร์ด del จะเกิด Error ขึ้น

myset = {"iPhone", "iPad", "iPod"}

del myset

print(myset)