จับคู่

ชนิดข้อมูลประเภทจับคู่ (Mapping) หรือ ดิกชั่นนารี (Dictionary) อาจรู้จักกันในชื่ของ แฮช (Hash) อธิบายสั้นๆ ได้ว่าข้อมูลประเภทนี้คือ อาเรย์ที่ใช้สามารถใช้สตริงเป็นคีย์ (Key) ถึงข้อมูลภายในได้นั่นเอง ปกติอาเรย์จะอ้างถึงข้อมูลเป็นตัวเลข เริ่มตั้งแต่ 0 ถึง n-1 เมื่อ n คือความยาวของอาเรย์

ข้อมูลชนิดนี้ได้รับความนิยมใช้กันมากโดยเฉพาะผู้ที่เขียนเพิร์ล เพราะเก็บข้อมูลแบบโครงสร้างได้ไม่มีตกหล่นและยืดหยุ่นมากๆ ด้วย ที่เป็นเช่นนี้เพราะใช้คลาสในเพิร์ลยาก สร้างเองก็ยาก สุดท้ายแล้วทุกคนชินกับการใช้แฮชมากกว่า สะดวกรวดเร็ว

สำหรับไพธอนนั้นข้อมูลแบบนี้อาจไม่สะดวกเท่าเพิร์ลแต่ก็สามารถนำไปใช้ได้ง่ายและรวดเร็วเพียงพอสำหรับงานทั่วไป อย่างไรก็ตามไม่ควรใช้ดิกชั่นนารีพร่ำเพรื่อ เพราะไม่สามารถเพิ่มกลไลการตรวจสอบข้อมูลได้ ทำให้อาจเกิดความผิดพลาดขึ้นระหว่างการเขียน ในขณะที่การใช้คลาสในไพธอนง่ายมาก ถ้าข้อมูลต้องมีการเปลี่ยนแปลงบ่อยๆ ควรใช้คลาสครอบดิกชั่นนารีไว้เพื่อความสะดวกและปลอดภัยในการเขียนโปรแกรมขนาดใหญ่

หน้าตาของดิกชั่นนารีในไพธอนนั้นจะใช้เครื่องหมาย { และ : ดังตัวอย่าง

{’a’: 1, ’b’: 2, ’c’: 3}

หมายความว่าดิกชั่นนารีนี้มีค่า 3 ค่า ได้แก่ 1 2 และ 3 สามารถเข้าถึงโดยใช้สตริง ’a’ ’b’ และ ’c’ เป็นคีย์ตามลำดับ การเข้าถึงจะใช้เครื่องหมาย [ ] คร่อม เช่น

{’a’: 1, ’b’: 2, ’c’: 3}[’c’]

จะได้ค่าออกมาเป็นจำนวนเต็ม 3