Python (ไพทอน) มีการจัดเก็บชุดข้อมูลตัวแปรอยู่หลายรูปแบบ เช่น ตัวแปรชนิดลิสต์ ตัวแปรชนิดทูเพิล ตัวแปรชนิดเซต และ ตัวแปรชนิดดิกชันนารี ซึ่งแต่ละตัวแปรนั้นก็จะมีฟังก์ชันที่แตกต่างกันออกไป สำหรับการเข้าถึงและการจัดการ ซึ่งในบทความนี้เราจะมาพูดถึงการฟังก์ชันต่างๆเกี่ยวกับ Dictionary ในภาษาไพทอนกัน
Dictionary (ดิกชันนารี) คือการจัดเก็บข้อมูลแบบรายการที่สมาชิกแต่ละตัวจะมีองค์ประกอบ 2 อย่าง คือ key และ value โดยหากเราจะเข้าถึงสมาชิกต้องใช้ key เป็นตัวกำหนด ซึ่งเปรียบเสมือนพจนานุกรมที่ประกอบด้วยคำศัพท์ (key) และความหมายของคำศัพท์นั้นๆ(value) โดยข้อกำหนดในเบื้องต้นของข้อมูลทั้งสองอย่างนี้คือ
- key จะเป็นข้อมูลสตริงหรือตัวเลขก็ได้ โดยสมาชิกแต่ละตัวจะต้องมีคีย์ที่ไม่ซ้ำกัน
- value จะเป็นข้อมูลชนิดใดก็ได้ อาจเป็นข้อมูลประเภทรายการอื่นๆ เช่น ลิสต์ ทูเพิล หรือ เซต โดยค่าของสมาชิกแต่ละตัวสามารถซ้ำกันได้
ฟังก์ชันต่างๆเกี่ยวกับดิกชันนารี
ดิกชันนารีจะมีฟังก์ชันเฉพาะตัว สำหรับการเข้าถึงและจัดการกับสมาชิก โดยจะมีดังนี้
keys() | อ่านคีย์ทั้งหมด โดยคืนค่ากลับมาเป็นทูเพิล |
values() | อ่านค่าทั้งหมด โดยคืนค่ากลับมาเป็นทูเพิล |
items() | อ่านรายการทั้งหมด โดยคืนค่ากลับมาเป็นทูเพิล |
clear() | ลบสมาชิกทั้งหมดของดิกชันนารี |
get(คีย์) | อ่านค่าของสมาชิกที่มีคีย์ตามที่ระบุ |
pop(คีย์) | อ่านค่าของสมาชิกที่มีคีย์ตามที่ระบุ จากนั้นลบสมาชิกตัวนั้น |
การใช้งาน
ฟังก์ชัน key() ไม่จำเป็นต้องใช้ก็ได้ เพราะทั่วไปแล้วการอ้างถึงคีย์ทั้งหมด มักใช้ร่วมกับลูป for-in ซึ่งเราอาจระบุแค่ชื่อดิกชันนารีก็หมายถึงคีย์อยู่แล้ว ตัวอย่างเช่น
x = {'th':'Thailand','jp':'Japan','us':'United State'}
for key in x.keys():
print(x[key])
print('-'*20)
for key in x:
print(x[key])
ผลลัพธ์

จะเห็นได้ว่าผลลัพธ์ที่ออกมานั้น มีค่าเหมือนกันเลยเราจึงไม่จำเป็นที่จะต้องใช้ฟังก์ชันดังกล่าวก็ได้ แต่ในบางกรณีถ้าหากไม่มีการใช้ลูป for-in ก็ให้เราใช้งานฟังก์ชัน key() เพื่อทำการเข้าถึงสมาชิกแต่ละตัวได้
ฟังก์ชัน values() จะคืนค่ามาเป็นค่าของสมาชิกทั้งหมด ซึ่งจะใช้เมื่อเวลาที่เราต้องการอ้างถึงค่าของสมาชิก โดยจะรูปแบบการใช้งานดังนี้
x = {'th':'Thailand','jp':'Japan','us':'United State'}
y = x.values()
for z in y:
print(z)
ผลลัพธ์

ผลลัพธ์ที่ออกมาก็จะเป็นการอ้างถึงค่าของสมาชิกแต่ละตัว ซึ่งจะคืนค่าออกมาเป็นค่าของสมาชิกทั้งหมด
ฟังก์ชัน items()
x = {'th':'Thailand','jp':'Japan','us':'United State'}
for y in x.items():
print(y)
ผลลัพธ์

ผลลัพธ์ที่ออกมาจากการใช้งานฟังก์ชัน items() จะเป็นการอ่านค่าทั้งหมด ทั้ง key และ value จากนั้นจะทำการคืนค่าที่ได้ทั้งหมด ออกมาในรูปแบบชนิดทูเพิล
ฟังก์ชัน get() และ pop()
x = {'th':'Thailand','jp':'Japan','us':'United State'}
print(x.get('jp'))
print(x.pop('us'))
print(x)
ผลลัพธ์

ผลลัพธ์ที่ได้จากการใช้งานฟังก์ชัน get('jp') คือการอ่านค่าตามคีย์ที่เราได้ทำการระบุไว้ในฟังก์ชัน ดังนี้จึงได้ผลลัพธ์ออกมาเป็น Japan และผลลัพธ์การใช้งานฟังก์ชัน pop('us') คือการอ่านค่าตามคีย์ที่เราได้ทำการระบุไว้ในฟังก์ชัน จากนั้นลบสมาชิกตัวนั้นออกไป ซึ่งจะเห็นได้จากคำสั่ง print(x) ผลลัพธ์ที่ออกมา สมาชิกก็จะถูกลบไปหนึ่งตัวตามที่เราระบุนั่นเอง
ซึ่งวิธีการในการใช้งานนั้นก็จะคล้ายๆกัน เราสามารถใช้งานได้ในรูปแบบตามตัวอย่างที่แสดงให้ดูในข้างต้นได้เลย เพียงเท่านี้เราก็สามารถใช้งานฟังก์ชันต่างๆที่เกี่ยวกับข้อมูลดิกชันนารีในภาษาไพทอนได้แล้ว
ช่องทางการศึกษาเพิ่มเติมเกี่ยวกับ : Python
ตัวแปรชนิดลิส ใน ไพทอน Python Lists Data type
ตัวแปรชนิดทูเปิล ใน ไพทอน Python Tuples Data type
ตัวแปรชนิดดิกชันนารี ใน ไพทอน Python Dictionary Data type
ฟังก์ชั่นสำหรับแปลงชนิดข้อมูล ใน ไพทอน Python Data Type Conversion