การลบข้อมูลออกจาก dictionary ด้วย pop และ del
บางครั้งจำเป็นต้องลบคีย์และค่าออกจาก dictionary ซึ่งทำได้โดยใช้คำสั่ง del ของ Python สิ่งสำคัญที่ต้องจำไว้คือ del จะเกิด KeyError หากคีย์ที่ต้องการลบไม่มีอยู่ใน dictionary ทั้งนี้ไม่สามารถใช้ร่วมกับเมธอด .get() เพื่อลบข้อมูลอย่างปลอดภัยได้โดยตรง แต่สามารถใช้คู่กับ try: catch: ได้
หากต้องการบันทึกข้อมูลที่ลบออกไปเก็บไว้ในตัวแปรอื่นเพื่อประมวลผลต่อ สามารถใช้เมธอด .pop() ได้ นอกจากนี้ยังสามารถกำหนดค่าเริ่มต้นให้กับ .pop() ได้เช่นเดียวกับ .get() เพื่อจัดการกับคีย์ที่ไม่มีอยู่อย่างปลอดภัย โดยทั่วไปนิยมใช้ .pop() แทน del เนื่องจากเป็นวิธีที่ปลอดภัยกว่า
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
ประเภทข้อมูลใน Python
คำแนะนำการฝึกหัด
- ลบ
"Madison Square Park"ออกจากsquirrels_by_parkและเก็บค่าที่ลบออกไว้ในตัวแปรsquirrels_madison - ลบ
"City Hall Park"ออกจากsquirrels_by_parkอย่างปลอดภัยโดยใช้ dictionary ว่างเป็นค่าเริ่มต้น และเก็บค่าที่ได้ไว้ในตัวแปรsquirrels_city_hallโดยส่ง{}เป็นอาร์กิวเมนต์ตัวที่สองให้กับ.pop() - ลบ
"Union Square Park"ออกจากsquirrels_by_park - พิมพ์
squirrels_by_park
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Remove "Madison Square Park" from squirrels_by_park
squirrels_madison = ____
# Safely remove "City Hall Park" from squirrels_by_park with an empty dictionary as the default
squirrels_city_hall = ____.____(____, ____)
# Delete "Union Square Park" from squirrels_by_park
____ ____[____]
# Print squirrels_by_park
print(squirrels_by_park)