ดีครับดอทคอม

เขียนโปรแกรมภาษา Python ตอนที่ 132 ลบข้อมูลใน Dictionary ด้วยเมธอด pop()

เขียนโปรแกรมภาษา Python ตอนที่ 132 ลบข้อมูลใน Dictionary ด้วยเมธอด pop()

เขียนโปรแกรมภาษา Python ตอนที่ 132 ลบข้อมูลใน Dictionary ด้วยเมธอด pop()

เมธอด pop() ใช้สำหรับลบข้อมูลใน Dictionary ตามคีย์ที่ระบุ โดยจะคืนค่ากลับมาเป็นค่าของข้อมูลที่ถูกลบ (ตามคีย์ที่ระบุ)

รูปแบบการใช้งาน

dictionary.pop(key, defaultvalue)
  • key คือคีย์ของข้อมูลที่ต้องการลบใน Dictionary (จำเป็นต้องระบุ)
  • defaultvalue (ไม่ระบุก็ได้) คือค่าที่ต้องการให้รีเทิร์นกลับออกมาในกรณีที่ไม่มีข้อมูลตาม key ที่ระบุ
phone = {
    "model": "iPhone 14",
    "year": "2022",
    "price": "39,000",
    "color": "white"
}

phone.pop("year")
print(phone)
  • บรรทัดที่ 8 ใช้เมธอด pop() ลบข้อมูลออกจาก Dictionary โดยระบุคีเป็น "year"
  • บรรทัดที่ 9 สั่งให้แสดงข้อมูลใน Dictionary หลังจากลบข้อมูลออกแล้ว

ผลลัพธ์ ข้อมูลที่มีคีย์ "year" ถูกลบออกไปจาก Dictionary

{‘model’: ‘iPhone 14’, ‘price’: ‘39,000’, ‘color’: ‘white’}

ถ้าต้องการทราบว่าข้อมูลใดถูกลบออกจาก Dictionary ให้สร้างตัวแปรขึ้นมารับค่าส่งกลับจากเมธอด pop()

phone = {
    "model": "iPhone 14",
    "year": "2022",
    "price": "39,000",
    "color": "white"
}

removed = phone.pop("year")

print("ข้อมูลที่ถูกลบ")
print(removed)
  • บรรทัดที่ 8 สร้างตัวแปรขึ้นมารับค่าที่รีเทิร์นจากเมธอด pop()
  • บรรทัดที่ 10-11 แสดงข้อมูลที่ถูกลบออก

ผลลัพธ์ จะได้ค่าของข้อมูลที่ถูกลบออกไป

ข้อมูลที่ถูกลบ
2022

ถ้าคีย์ที่ระบุไม่มีอยู่จริงใน Dictionary ต้นทาง จะเกิด Error

phone = {
    "model": "iPhone 14",
    "year": "2022",
    "price": "39,000",
    "color": "white"
}

removed = phone.pop("owner")

print(removed)
  • บรรทัดที่ 8 สั่งให้ลบข้อมูลโดยระบุคีย์เป็น "owner" ซึ่งไม่มีอยู่จริงใน Dictionary ต้นทาง

ผลลัพธ์คือเกิด Error เพราะสั่งให้ลบข้อมูลที่ไม่มีอยู่จริง

วิธีป้องกันคือ ระบุพารามิเตอร์ defaultvalue เพิ่มเข้าไปในเมธอด pop() เพื่อให้คืนค่านี้กลับออกมาในกรณีที่ไม่มีข้อมูลตามคีย์ที่ระบุ

phone = {
    "model": "iPhone 14",
    "year": "2022",
    "price": "39,000",
    "color": "white"
}

removed = phone.pop("owner", "ไม่มีข้อมูลตามที่ระบุ")

print(removed)
  • บรรทัดที่ 8 เรียกใช้เมธอด pop() โดยระบุพารามิเตอร์ defaultvalue (ข้อความ “ไม่มีข้อมูลตามที่ระบุ”) เข้าไปด้วย

ผลลัพธ์ ถ้าไม่มีข้อมูลตามคีย์ที่ระบุ จะไม่เกิด Error แต่จะคืนค่าเป็นข้อความที่ระบุกลับออกมาแทน

ไม่มีข้อมูลตามที่ระบุ