หัดเขียนภาษา Python – การใช้งาน Dictionary

หัดเขียนภาษา Python – การใช้งาน Dictionary

หัดเขียนภาษา Python – การใช้งาน Dictionary

ในภาษา Python นั้นก็มี Data Structure แบบ Dictionary ให้ใช้งานอยู่เหมือนกัน ซึ่งเจ้า Dictionary นั้น concept หลักๆของมันก็คือการมี key จับคู่อยู่กับ value นั้นเอง แต่การใช้งานในภาษา Python นั้นผมว่ามันค่อนข้างใช้งานง่ายเหมือนๆกับ list เลยก็ว่าได้ โดยใน Python นั้นด้วยความที่ตัวมันเองเป็นภาษาแนว script การสร้าง List หรือ Dictionary นั้นจึงไม่ต้องมีการ new object อะไรทัง้นั้นมาถึงประกาศแล้วกำหนดค่าใช้งานได้เลยเรามาดูกันเลยดีกว่าว่าใช้งานกันอย่างไร

[sourcecode language=”python”]
address = {‘MG’ : ‘[email protected]’,
‘MF’ : ‘[email protected]’,
‘MA’:’[email protected]’,
‘MH’:’[email protected]’}

print ‘MG address : ‘ , address[‘MG’]

print ‘Total contact in address before delete : ‘, len(address)
#Delete KEY MA
del address[‘MA’]

print ‘Total contact in address : ‘, len(address)

print ‘Show All contact’

for name, email in address.items():
print ‘Contact {} : email {}’.format(name,email)

#add new contact
address[‘MY’] = ‘[email protected]

print ‘\nShow update contact’

for name, email in address.items():
print ‘Contact {} : email {}’.format(name,email)

[/sourcecode]

หัดเขียนภาษา Python – การใช้งาน Dictionary

จากผลลัพธ์ในตัวอย่าง การสร้าง Dictionary นั้นเราก็ประกาศตัวแปรขึ้นมาแล้วใช้รูปแบบในการกำหนดข้อมูลเพื่อเป็นการบอกว่าเป็นชุดข้อมูลแบบ Dictionary โดยมีรูปแบบคือ { ‘Key1’ : ‘Value1’, ‘Key2’ : ‘Value2’} เพิ่งเท่านี้เราก็จะได้ตัวแปรที่เก็บข้อมูลแบบ Dictionary แล้วเรียกว่าง่ายดีนะครับ

ต่อมาการเข้าถึง value ใน Dictionary นั้นก็ใช้ key ร่วมกับ [] เพื่อเข้าถึง value ที่เก็บอยู่ใน Dictionary ซึ่งดูไปแล้วก็เหมือนการอ้างอิง element ทั่วๆไปไม่ได้แปลกอะไรเลยทำให้ไม่เกิดความยากต่อการใช้งานอีก ซึ่งในตัวอย่างก็คือ address[‘MG’] ซึ่งก็จะได้ Value ของ Key MG คือ [email protected] ครับ

ต่อมาก็เป็นการลบข้อมูลก็ใช้การอ้างอิงแบบ element อีกแต่จะใช้คำสั่งเทพใน Python ครับคือ del ลบข้อมูลได้ทุกชนิดจริงๆเลยกับคำสั่ง del ใน Python นี้ จากตัวอย่างจะใช้คำสั่งดังนี้ครับ

del address[‘MA’]

เหมือนลองนับจำนวนข้อมูล ใน Dic ดูก็จะเห็นว่าโดนลบไป 1 อันแล้วครับ สุดท้ายการ add ข้อมูลเข้าไปใหม่ ไม่ต้องมีคำสั่ง add อะไรพิเศษเลยมาถึงก็ตัวแปร address[‘newkey’] กำหนดค่า value จบเลยก็จะเป็นการ add ข้อมูล key กับ value เข้าไปใน Dictionary ใหม่แล้วเหมือนลองใช้คำสั่ง len นับจำนวนดูก็จะเห็นว่ามีจำนวนเพิ่มขึ้นครับ ซึ่งในการใช้งานจริงก่อน add ก็ควรมีการ check ว่ามี key ชื่อนี้อยู่แล้วรึเปล่าเพื่อที่จะได้ไม่ทำให้เกิดการทับค่ากันเพราะเราต้องการ add แต่หาก update ค่าก็คงไม่มีปัญญหาครับ สุดท้ายการวนลูปเพื่อเข้าถึงข้อมูลใน Dictionary ก็จะมีรูปแบบดังนี้ครับ

for key, value in vardic.items():

….

ซึ่งจะทำให้เราได้ทั้งค่า key และ value ที่คู่กันซึ่งโค้ดในตัวอย่างเป็นแบบนี้ครับ

for name, email in address.items():

print ‘Contact {} : email {}’.format(name,email)

ผลลัพธ์ก็ตามตัวอย่างจะทำการ print key ที่ป็น ชื่อ และ value ที่เป็นค่า email ทั้งหมดที่มีในตัวแปร address ซึ่งก็คือข้อมูลแบบ Dictionary นั้นเองครับ

Download Sourcecode

Leave a Reply

Your email address will not be published. Required fields are marked *