ดิกชันนารี (Dictionary) ใน Python เป็นโครงสร้างข้อมูลแบบไม่เรียงลำดับ (unordered) ที่ใช้จัดเก็บข้อมูลในรูปแบบคู่ของคีย์ (key) และค่า (value) แต่ละคู่จะต้องมีคีย์ที่ไม่ซ้ำกัน และสามารถเข้าถึงข้อมูลได้ผ่านคีย์
1. การสร้างดิกชันนารี
การสร้างดิกชันนารี สามารถใช้เครื่องหมายปีกกา { } หรือใช้ฟังก์ชัน dict() ได้ โดยภายในเครื่องหมาย { } จะมีคู่คีย์และค่าที่คั่นด้วยเครื่องหมายโคลอน (:) และแต่ละคู่จะแยกกันด้วยเครื่องหมายคอมมา (,)
# ใช้เครื่องหมาย {}
# ใช้ฟังก์ชัน dict()
Key (คีย์)
เป็นตัวระบุเฉพาะของแต่ละค่าที่เก็บไว้ในดิกชันนารี คีย์จะต้องไม่ซ้ำ และสามารถเป็นชนิดข้อมูลที่ไม่เปลี่ยนแปลง (immutable) เช่น str, int, หรือ tuple
Value (ค่า)
เป็นข้อมูลที่เชื่อมโยงกับคีย์ ค่าจะเป็นอะไรก็ได้ เช่น int, str หรือดิกชันนารีอื่น
💻 ตัวอย่าง การสร้างดิกชันนารี
ดิกชันนารี student_scores จัดเก็บคะแนนของนักเรียนแต่ละคน โดยมีชื่อเป็นคีย์และคะแนนเป็นค่า
ดิกชันนารี employee_ages จัดเก็บอายุพนักงาน
2. การเข้าถึงข้อมูลในดิกชันนารี
สามารถเข้าถึงค่าในดิกชันนารีได้โดยการใช้คีย์ ซึ่งจะทำได้โดยใส่คีย์ภายในเครื่องหมายสี่เหลี่ยม [ ] ตามหลังชื่อดิกชันนารี
💻 ตัวอย่าง การเข้าถึงข้อมูลในดิกชันนารี
บรรทัดที่ 9
เข้าถึงข้อมูลในดิกชันนารี student_scores โดยใช้คีย์ 'Alice'
บรรทัดที่ 10
แสดงผลลัพธ์คะแนนของ Alice (92)
3. การเพิ่มหรือแก้ไขข้อมูลในดิกชันนารี
ดิกชันนารีสามารถเพิ่มหรือแก้ไขข้อมูลได้โดยการระบุคีย์ที่ต้องการ หากคีย์นั้นยังไม่มีในดิกชันนารี ข้อมูลจะถูกเพิ่ม หากมีอยู่แล้ว ข้อมูลจะถูกอัปเดต
💻 ตัวอย่าง การเพิ่มหรือแก้ไขข้อมูลในดิกชันนารี
บรรทัดที่ 9 เป็นการเพิ่มข้อมูลใหม่ให้กับ student_scores โดยเพิ่มคู่คีย์ 'Eva' กับค่าคะแนน 88
บรรทัดที่ 12 เป็นการแก้ไขคะแนนของ 'John' จากเดิม 85 เป็น 90
4. การลบข้อมูลในดิกชันนารี
การลบข้อมูลสามารถทำได้โดยใช้คำสั่ง del หรือใช้เมธอด pop() ซึ่ง pop() จะคืนค่าของคีย์ที่ถูกลบออกมา ส่วน del จะลบข้อมูลโดยไม่คืนค่า
# ลบข้อมูลด้วยคำสั่ง del
# ลบข้อมูลด้วยคำสั่ง pop()
💻 ตัวอย่าง การลบข้อมูลในดิกชันนารี
บรรทัดที่ 8
คำสั่ง del จะลบข้อมูลโดยไม่คืนค่า
บรรทัดที่ 12
คำสั่ง pop() จะลบข้อมูลและคืนค่าที่ถูกลบออกมา เช่น คะแนนของ Alice คือ 92
บรรทัดที่ 15
แสดงผลลัพธ์ข้อมูลในดิกชันนารีจะเห็นได้ว่าเหลือเพียงข้อมูลของ John
5. การวนลูปผ่านดิกชันนารี
การวนลูปสามารถทำได้หลายวิธี เช่น วนผ่านคีย์ วนผ่านค่า หรือทั้งคีย์และค่าพร้อมกัน โดยใช้เมธอด keys(), values(), และ items()
# วนลูปผ่านคีย์ (ทำงานกับ key)
# วนลูปผ่านค่า (ทำงานกับ value)
# วนลูปผ่านทั้งคีย์และค่า (ทำงานกับ key และ value)
💻 ตัวอย่าง การวนลูปผ่านดิกชันนารี
บรรทัดที่ 9
เป็นการวนลูปผ่านคีย์จะแสดงชื่อของนักเรียน
บรรทัดที่ 12
เป็นการวนลูปผ่านค่าจะแสดงคะแนน
บรรทัดที่ 17
เป็นการวนลูปผ่านทั้งคีย์และค่าจะแสดงชื่อของนักเรียนพร้อมคะแนน