Python Programming/Dictionaries

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา

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

>>> m = {}

หลังจากนั้นเราสามารถกำหนดค่าการจับคู่ใน dictionary ตัวนี้ได้คล้ายๆ กับการกำหนดสมาชิกอะเรย์

>>> m["one"] = 10
>>> m[7] = "kono rorikon yarou domo"
>>> m[True] = 3.1415

เมื่อสั่ง print dictionary ที่เราสร้างขึ้นก็จะเห็นว่ามันมีการจับคู่ใดอยู่ข้างในบ้าง

>>> print m
{True: 3.1415000000000002, 7: 'kono rorikon yarou domo', 'one': 10}

เราสามารถดึงค่าที่เก็บไว้ใน dictionary ออกมาได้โดยคล้ายกับการเรียกค่าจากอะเรย์

>>> m[True]
3.1415000000000002
>>> m[7]
'kono rorikon yarou domo'
>>> m["one"]

เรายังสามารถสร้าง dictionary ที่มีข้อมูลอยู่แล้วตั้งแต่เริ่มต้นได้ โดยอาศัยนิพจน์

{<<ดรรชนี 1>>: <<ค่า 1>>, <<ดรรชนี 2>>: <<ค่า 2>>, <<ดรรชนี 3>>: <<ค่า 3>>, ...}

เช่น (โค้ดข้างล่างนี้ลอกมาจาก How to Think Like a Computer Scientist: Learning with Python)

>>> inventory = {'apples': 430, 'bananas': 312, 'oranges': 525,
'pears': 217}
>>> print inventory
{'oranges': 525, 'apples': 430, 'pears': 217, 'bananas': 312}

เราสามารถหาจำนวนการจับคู่ใน dictionary ได้โดยใช้ฟังก์ชัน len

>>> len(inventory)
4 

นอกจากนี้เรายังสามารถลบการจับคู่ได้ด้วยคำสั่ง del

>>> del inventory['pears']
>>> print inventory
{'oranges': 525, 'apples': 430, 'bananas': 312}
หน้าก่อน: Loops สารบัญ หน้าต่อไป: Objects