ผลต่างระหว่างรุ่นของ "Python Programming/Dictionaries"
Cardcaptor (คุย | มีส่วนร่วม) |
Cardcaptor (คุย | มีส่วนร่วม) ล |
||
แถว 32: | แถว 32: | ||
{'oranges': 525, 'apples': 430, 'pears': 217, 'bananas': 312} | {'oranges': 525, 'apples': 430, 'pears': 217, 'bananas': 312} | ||
</pre> | </pre> | ||
+ | |||
+ | เราสามารถหาจำนวนการจับคู่ใน dictionary ได้โดยใช้ฟังก์ชัน <tt>len</tt> | ||
+ | <pre title="interpreter"> | ||
+ | >>> len(inventory) | ||
+ | 4 | ||
+ | </pre> | ||
+ | |||
+ | นอกจากนี้เรายังสามารถลบการจับคู่ได้ด้วยคำสั่ง <tt>del</tt> | ||
+ | >>> del inventory['pears'] | ||
+ | >>> print inventory | ||
+ | {'oranges': 525, 'apples': 430, 'bananas': 312} |
รุ่นแก้ไขเมื่อ 03:41, 18 ตุลาคม 2551
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}