เรียนเขียนโปรแกรมง่ายๆกับ Expert Programming Tutor วันนี้เราจะมาเข้าสู่บทDictionary
dictionary คือชุดสะสม ซึ่งไม่เรียงลำดับ สามารถเปลี่ยนแปลงได้ และทำค่าดัชนี ในDictionary ภาษาไพธอนเขียนด้วยวงเล็บปีกกา{}และมีkeys และ value
ตัวอย่างข้อมูล เป็นชุดข้อมูลชนิดdictionaryสำหรับเก็บข้อมูล โดยเมื่อทำการออกแบบระบบสำหรับเก็บข้อมูลและทำการระบุคุณลักษณะข้อมูล จะได้รูปแบบข้อมูลมีคุณลักษณะดังนี้
1.ชื่อ(brand)
2.โมเดล (Model)
3.ปี (Year)
ตัวอย่าง
บรรทัดที่ 1 สร้างฟังก์ชันสำหรับปรินต์ค่าชุดข้อมูลชนิดดิกชันนารี
บรรทัดที่ 2-4 กำหนดตัวแปรเพื่อเก็บชุดข้อมูลชนิดดิกชันนารี เพื่อเก็บข้อมูลรายละเอียด
บรรทัดที่ 6 ทำการปรินต์ค่า ชุดข้อมูลชนิดดิกชันนารีโดยฟังก์ชัน
thisdict = { |
ผลลัพธ์
{'brand': 'Ford', 'model': 'Mustang', 'year': 1964} |
การเข้าถึงข้อมูลภายใน Dictionary
นักเรียนสามารถเข้าถึงlistของdictionaryโดยอ้างอิงname keysของมัน ภายในเครื่องหมายวงเล็บเหลี่ยม[]
ตัวอย่าง
บรรทัดที่ 1 สร้างฟังก์ชันสำหรับปรินต์ค่าชุดข้อมูลชนิดดิกชันนารี
บรรทัดที่ 2-4 กำหนดตัวแปรเพื่อเก็บชุดข้อมูลชนิดดิกชันนารี เพื่อเก็บข้อมูลรายละเอียด
บรรทัดที่ 6 ทำการปรินต์ค่า ชุดข้อมูลชนิดดิกชันนารีโดยฟังก์ชัน
thisdict = { |
ผลลัพธ์
Mustang |
นอกจากนี้ยังมีวิธีการที่เรียกว่า get () ซึ่งจะให้ผลลัพธ์แบบเดียวกัน
ตัวอย่าง
บรรทัดที่ 1 สร้างฟังก์ชันสำหรับปรินต์ค่าชุดข้อมูลชนิดดิกชันนารี
บรรทัดที่ 2-4 กำหนดตัวแปรเพื่อเก็บชุดข้อมูลชนิดดิกชันนารี เพื่อเก็บข้อมูลรายละเอียด
บรรทัดที่ 6 การเข้าถึงข้อมูลโดยอ้างอิงจากชื่อของข้อมูล(key) โดยใช้ฟังก์ชัน(get)
บรรทัดที่ 7 ทำการปรินต์ค่า x ออกมา
thisdict = { |
ผลลัพธ์
Mustang |
การเปลี่ยนแปลงค่า
นักเรียนสามารถเปลี่ยนค่าของlistที่ต้องการโดยอ้างอิงถึงname keys
ตัวอย่าง
บรรทัดที่ 1 สร้างฟังก์ชันสำหรับปรินต์ค่าชุดข้อมูลชนิดดิกชันนารี
บรรทัดที่ 2-4 กำหนดตัวแปรเพื่อเก็บชุดข้อมูลชนิดดิกชันนารี เพื่อเก็บข้อมูลรายละเอียด
บรรทัดที่ 6 ทำการวนลูปเพื่อดึงชื่อข้อมูลจากชุดข้อมูลชนิดดิกชินนารี
บรรทัดที่ 7 ทำการปรินต์ค่า x ออกมา
thisdict = { |
ผลลัพธ์
Ford |
คำสั่งกับตัวแปรข้อมูล Dictionary ใน Python
คำสั่ง dict.keys() เป็นคำสั่งสำหรับดึงkeysทั้งหมดใน Dictionary ออกมา
คำสั่ง dict.values() เป็นคำสั่งสำหรับดึงvalueในคีย์ทั้งหมดใน Dictionary ออกมา
ตัวอย่าง
บรรทัดที่ 1 สร้างฟังก์ชันสำหรับปรินต์ค่าชุดข้อมูลชนิดดิกชันนารี
บรรทัดที่ 2-4 กำหนดตัวแปรเพื่อเก็บชุดข้อมูลชนิดดิกชันนารี เพื่อเก็บข้อมูลรายละเอียด
บรรทัดที่ 6 ทำการวนลูปเพื่อดึงชื่อข้อมูลจากชุดข้อมูลชนิดดิกชินนารี
บรรทัดที่ 7 ทำการปรินต์ค่าชุดข้อมูลชนิดดิกชันนารีโดยใช้ฟังก์ชัน print
thisdict = { |
ผลลัพธ์
Ford |
คำสั่ง dict.items() เป็นคำสั่งสำหรับดึงทั้งvalueและkeysทั้งหมดใน Dictionary ออกมา
ตัวอย่าง
บรรทัดที่ 1 สร้างฟังก์ชันสำหรับปรินต์ค่าชุดข้อมูลชนิดดิกชันนารี
บรรทัดที่ 2-4 กำหนดตัวแปรเพื่อเก็บชุดข้อมูลชนิดดิกชันนารี เพื่อเก็บข้อมูลรายละเอียด
บรรทัดที่ 6 ทำการวนลูปเพื่อดึงชื่อข้อมูลจากชุดข้อมูลชนิดดิกชินนารี
บรรทัดที่ 7 ทำการปรินต์ค่าชุดข้อมูลชนิดดิกชันนารีโดยใช้ฟังก์ชัน print
thisdict = { |
ผลลัพธ์
brand Ford |
วนลูปผ่านดิกชินนารี
นักเรียนสามารถวนลูปผ่านดิกชินนารีโดยใช้ for...loop เมื่อวนลูปผ่านดิกชินนารี ค่าส่งคืนคือkeysของดิกชินนารี
ตัวอย่าง
ปริ้นต์ name keys ทั้งหมดในดิกชินนารีหนึ่งต่อหนึ่ง
thisdict = { |
ผลลัพธ์
brand |
การตรวจสอบว่าข้อมูลที่กำหนดมีอยู่ในชุดข้อมูลชนิดดิกชันนารีหรือไม่
เพื่อตรวจสอบว่าkeys ที่ระบุมีอยู่ในพจนานุกรมใช้คำหลัก in
ตัวอย่าง
บรรทัดที่ 1 สร้างฟังก์ชันสำหรับปรินต์ค่าชุดข้อมูลชนิดดิกชันนารี
บรรทัดที่ 2-4 กำหนดตัวแปรเพื่อเก็บชุดข้อมูลชนิดดิกชันนารี เพื่อเก็บข้อมูลรายละเอียด
บรรทัดที่ 6 ใช้คีย์เวิร์ด "in" เพื่อใช้ในการตรวจสอบว่ามีชื่อข้อมูล(key) ดังกล่าวอยู่ในชุดข้อมูลชนิดดิกชันนารีหรือไม่
บรรทัดที่ 7 ทำการปรินต์ค่าชุดข้อมูลชนิดดิกชันนารีโดยใช้ฟังก์ชัน print
thisdict = { |
ผลลัพธ์
Yes, 'model' is one of the keys in the thisdict dictionary |
ความยาวดิกชินนารี
ในตรวจสอบดูว่ามีกี่list(key - value) dictionaryให้ใช้ฟังก์ชั่น len ()
ตัวอย่าง
บรรทัดที่ 1 สร้างฟังก์ชันสำหรับปรินต์ค่าชุดข้อมูลชนิดดิกชันนารี
บรรทัดที่ 2-4 กำหนดตัวแปรเพื่อเก็บชุดข้อมูลชนิดดิกชันนารี เพื่อเก็บข้อมูลรายละเอียด
บรรทัดที่ 6 ทำการปรินต์ค่า len ออกมา
thisdict = { |
ผลลัพธ์
3 |
การเพิ่มไอเท็ม
การเพิ่มไอเท็มลงในดิกชินนารีทำได้โดยใช้ keysดัชนีใหม่และกำหนดค่าให้กับมัน
thisdict = { |
ผลลัพธ์
3 |
การลบlist
มีหลายวิธีในการลบlistออกจากdictionary
ตัวอย่าง
บรรทัดที่ 1 สร้างฟังก์ชันสำหรับปรินต์ค่าชุดข้อมูลชนิดดิกชันนารี
บรรทัดที่ 2-4 กำหนดตัวแปรเพื่อเก็บชุดข้อมูลชนิดดิกชันนารี เพื่อเก็บข้อมูลรายละเอียด
บรรทัดที่ 6 ทำการลบข้อมูลออกจากชุดข้อมูลชนิดดิกชันนารี โดยใช้ฟังก์ชัน pop()
บรรทัดที่ 7 ทำการปรินต์ค่าชุดข้อมูลชนิดดิกชันนารีโดยใช้ฟังก์ชัน print
thisdict = { |
ผลลัพธ์
{'brand': 'Ford', 'year': 1964} |
popitem () วิธีการลบlistแทรกล่าสุด (ในรุ่นก่อน 3.7, listแบบสุ่มจะถูกลบออกแทน)
ตัวอย่าง
บรรทัดที่ 1 สร้างฟังก์ชันสำหรับปรินต์ค่าชุดข้อมูลชนิดดิกชันนารี
บรรทัดที่ 2-4 กำหนดตัวแปรเพื่อเก็บชุดข้อมูลชนิดดิกชันนารี เพื่อเก็บข้อมูลรายละเอียด
บรรทัดที่ 6 ทำการลบข้อมูลออกจากชุดข้อมูลชนิดดิกชันนารี โดยใช้ฟังก์ชัน popitem()
บรรทัดที่ 7 ทำการปรินต์ค่าชุดข้อมูลชนิดดิกชันนารีโดยใช้ฟังก์ชัน print
thisdict = { |
ผลลัพธ์
{'brand': 'Ford', 'model': 'Mustang'} |
การใช้ฟังก์ชัน clear() เพื่อลบข้อมูลทั้งหมดออกจากชุดข้อมูลชนิดดิกชันนารี
ตัวอย่าง
บรรทัดที่ 1 สร้างฟังก์ชันสำหรับปรินต์ค่าชุดข้อมูลชนิดดิกชันนารี
บรรทัดที่ 2-4 กำหนดตัวแปรเพื่อเก็บชุดข้อมูลชนิดดิกชันนารี เพื่อเก็บข้อมูลรายละเอียด
บรรทัดที่ 6 ทำการลบข้อมูลออกทั้งหมด
บรรทัดที่ 7 ทำการปรินต์ค่าชุดข้อมูลชนิดดิกชันนารีโดยใช้ฟังก์ชัน print
thisdict = { |
ผลลัพธ์
{} |
การใช้ฟังก์ชัน del() เพื่อทำการลบเฉพาะข้อมูลที่ระบุ หรือลบข้อมูลตัวแปรดังกล่าว
ตัวอย่าง
บรรทัดที่ 1 สร้างฟังก์ชันสำหรับปรินต์ค่าชุดข้อมูลชนิดดิกชันนารี
บรรทัดที่ 2-4 กำหนดตัวแปรเพื่อเก็บชุดข้อมูลชนิดดิกชันนารี เพื่อเก็บข้อมูลรายละเอียด
บรรทัดที่ 6 ทำการลบข้อมูลออกจากชุดข้อมูลชนิดดิกชันนารี โดยใช้ฟังก์ชัน del()
บรรทัดที่ 7 ทำการปรินต์ค่าชุดข้อมูลชนิดดิกชันนารีโดยใช้ฟังก์ชัน print
thisdict = { del thisdict["model"] |
ผลลัพธ์
{'brand': 'Ford', 'year': 1964} |
อีกวิธีหนึ่งในการทำสำเนาคือใช้ฟังก์ชัน dict () ที่มีอยู่แล้ว
ตัวอย่าง
ทำสำเนาดิกชินนารีด้วยฟังก์ชัน dict ()
thisdict = { |
ผลลัพธ์
{'brand': 'Ford', 'model': 'Mustang', 'year': 1964} |
ดิกชินนารีที่ซ้อนกัน
ดิกชินนารียังมีดิกชินนารีที่มีมากกว่าหนึ่ง ซึ่งเรียกว่าดิกชินนารีที่ซ้อนกัน
ตัวอย่าง
สร้างดิกชินนารีที่มีดิกชินนารีทั้งหมดสามเล่ม
myfamily = { |
ผลลัพธ์
{'child1': {'name': 'Emil', 'year': 2004}, 'child2': {'name': 'Tobias', 'year': 2007}, 'child3': {'name': 'Linus', 'year': 2011}} |
หรือหากนักเรียนต้องการจัดทำดิกชินนารีสามเล่มที่มีอยู่แล้วในดิกชินนารี
ตัวอย่าง
สร้างดิกชินนารีทั้งหมดสามดิกชินนารี จากนั้นสร้างดิกชินนารีอีกหนึ่งฉบับที่จะบรรจุดิกชินนารีอีกสามดิกชินนารีขึ้นมาเข้าไป
child1 = { |
ผลลัพธ์
{'child1': {'name': 'Emil', 'year': 2004}, 'child2': {'name': 'Tobias', 'year': 2007}, 'child3': {'name': 'Linus', 'year': 2011}} |
The dict () constuctor
นอกจากนี้ยังใช้constructor dict () เพื่อสร้างดิกชินนารีใหม่
ตัวอย่าง
thisdict = dict(brand="Ford", model="Mustang", year=1964) |
ผลลัพธ์
{'brand': 'Ford', 'model': 'Mustang', 'year': 1964} |
ก็จบกันไปอีกหนึ่งบทเเล้วนะครับ บทความนี้สอนค่อนข้างจะกระชับ นักเรียนจะได้เข้าใจมากขึ้น หรือถ้าอยากเข้าใจเพิ่มเติมก็สามารถไปทำความเข้าใจได้เองเลยครับ เเล้วเจอกันครับผม
แปลจาก https://www.w3schools.com/python/python_dictionaries.asp
Tag ที่น่าสนใจ: python dictionaries programming data_structures key-value accessing_data changing_values dictionary_methods python_programming programming_basics
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM