© BEST-BACKGROUNDS/Shutterstock.com
พจนานุกรมเป็นหนึ่งในโครงสร้างข้อมูลที่สำคัญที่สุดใน Python และการทำความเข้าใจวิธีใช้งานจะสามารถปลดล็อกโลกแห่งความเป็นไปได้สำหรับโครงการเขียนโปรแกรมของคุณได้ มีประโยชน์อย่างยิ่งเมื่อต้องจัดการกับข้อมูลจำนวนมากหรือโครงสร้างข้อมูลที่ซับซ้อน เช่น รายการหรือวัตถุที่ซ้อนกัน ไม่ว่าคุณจะเป็นผู้เริ่มต้นหรือโปรแกรมเมอร์ที่มีประสบการณ์ บทความนี้จะให้คำแนะนำที่ครอบคลุมเกี่ยวกับพจนานุกรมใน Python รวมถึงคำอธิบายโดยละเอียดและตัวอย่างวิธีกำหนดและจัดการพจนานุกรมเหล่านั้น มาเจาะลึกกันเลย!
พจนานุกรมในภาษา Python คืออะไรกันแน่
พจนานุกรมคือชุดของคู่คีย์-ค่าที่ไม่ได้เรียงลำดับ ซึ่งแต่ละคีย์จะไม่ซ้ำกัน คีย์ใช้เพื่อระบุค่าที่เกี่ยวข้อง ซึ่งสามารถเป็นวัตถุประเภทใดก็ได้ รวมถึงสตริง จำนวนเต็ม ทศนิยม บูลีน รายการ หรือแม้แต่พจนานุกรมอื่นๆ พจนานุกรมคล้ายกับโครงสร้างข้อมูลที่บางครั้งเรียกว่า”แผนที่แฮช”หรือ”อาร์เรย์ที่เชื่อมโยง”ในภาษาการเขียนโปรแกรมอื่นๆ
ไม่เหมือนกับโครงสร้างข้อมูลอื่นๆ ใน Python เช่น tuples ซึ่งมีลำดับที่เกี่ยวข้องกัน พจนานุกรมไม่มีลำดับในตัว. พจนานุกรมจะจัดเก็บแต่ละรายการตามการจับคู่ค่าคีย์แทน นั่นคือสิ่งที่ทำให้พวกมันมีความหลากหลายและมีประสิทธิภาพอย่างไม่น่าเชื่อในการทำให้เราเข้าถึงองค์ประกอบเฉพาะภายในโครงสร้างข้อมูลของเราได้อย่างรวดเร็วโดยไม่ต้องวนซ้ำทุกรายการ
นอกจากนี้ พจนานุกรม ซึ่งแตกต่างจากทูเพิลคือไม่แน่นอน หมายความว่าคุณสามารถเพิ่ม แก้ไขและลบรายการออกจากรายการหลังจากที่คุณสร้างแล้ว สิ่งนี้ทำให้พจนานุกรมมีโครงสร้างข้อมูลที่มีประสิทธิภาพและยืดหยุ่นอย่างไม่น่าเชื่อสำหรับงานการเขียนโปรแกรมที่หลากหลาย
ในหัวข้อถัดไป เราจะดูวิธีจัดการกับพจนานุกรมและองค์ประกอบของพจนานุกรม
วิธีกำหนด/สร้างพจนานุกรมใน Python
พจนานุกรมคือ มีประสิทธิภาพอย่างเหลือเชื่อในการจัดเก็บและเรียกใช้ข้อมูล หากต้องการสร้างพจนานุกรมใหม่ใน Python คุณสามารถใช้เครื่องหมายวงเล็บปีกกา {} และแยกคู่คีย์-ค่าแต่ละคู่ด้วยเครื่องหมายทวิภาค คู่คีย์-ค่า/องค์ประกอบในพจนานุกรมคั่นด้วยเครื่องหมายจุลภาค ดังนี้:
my_dict={“key1”: “value1”, “key2”: “value2”, “key3”: “value3” }
นี่คือตัวอย่างของพจนานุกรม Python ที่ใช้ในการจัดเก็บรายการผลไม้:
my_dict={“apple”: 3, “banana”: 2, “cherry”: 5}
ในที่นี้ เราได้นิยามพจนานุกรมชื่อ my_dict ซึ่งมีคู่คีย์-ค่าสามคู่ คีย์คือ”แอปเปิ้ล””กล้วย”และ”เชอร์รี่”และค่าที่เกี่ยวข้องกับคีย์เหล่านี้คือ 3, 2 และ 5 ตามลำดับ โปรดทราบว่าคีย์ต้องไม่ซ้ำกัน หากคุณพยายามเพิ่มรายการอื่นด้วยคีย์เดียวกัน มันจะเขียนทับรายการที่มีอยู่แทนที่จะสร้างรายการใหม่ด้วยค่าอื่น
คุณยังสามารถสร้างพจนานุกรมเปล่าได้โดยใช้วงเล็บปีกกาสองชุด {} โดยไม่มีรายการใด ๆ อยู่ภายใน:
my_empty_dict={}
การจัดการพจนานุกรมใน Python
การเพิ่มองค์ประกอบในพจนานุกรม Python
เมื่อคุณสร้างพจนานุกรมแล้ว คุณสามารถเริ่มเพิ่มองค์ประกอบต่างๆ ได้ ในการทำเช่นนั้น เพียงระบุคีย์ ตามด้วยค่าที่เกี่ยวข้องภายในวงเล็บเหล่านี้
มาเพิ่มรายการในตัวอย่างก่อนหน้าของเรา:
my_dict[“pear”]=4 # การเพิ่มจำนวนเต็ม
my_dict[“orange”]=“ไม่มี” # การเพิ่มสตริง
ตอนนี้พจนานุกรมของเรามี 5 องค์ประกอบ:
my_dict={“apple”: 3, “banana”: 2, “cherry”: 5, “ pear”: 4, “orange”: “none”}
โปรดปฏิบัติตามกฎไวยากรณ์ที่ถูกต้องเมื่อเพิ่มข้อมูลประเภทต่างๆ (เช่น ต้องเขียนจำนวนเต็มโดยไม่มีเครื่องหมายอัญประกาศดังที่เห็นด้านบน) ทีนี้มาดูวิธีที่เราสามารถอ่านองค์ประกอบจากพจนานุกรมที่เติมใหม่ของเรา
การอ่านองค์ประกอบจากพจนานุกรม Python
การอ่านองค์ประกอบจากพจนานุกรม Python นั้นง่ายพอๆ กับการเขียนมัน สิ่งที่คุณต้องทำคือระบุคีย์ที่ต้องการภายในวงเล็บเหลี่ยม [] ตามหลังชื่อพจนานุกรมของคุณ:
print(my_dict[“banana”]) # ผลลัพธ์ 2
หากคุณพยายามเข้าถึง องค์ประกอบที่ไม่มีอยู่ Python จะแสดงข้อความแสดงข้อผิดพลาดเพื่อแจ้งให้คุณทราบว่ามีอะไรผิดพลาด นี่คือตัวอย่าง:
print(my_dict[ “grape”]) # Outputs KeyError: grape
วิธีนี้ทำให้การแก้ไขข้อบกพร่องง่ายขึ้นมาก เนื่องจากเราทราบแน่ชัดว่าต้องแก้ไขอะไร
วิธีอัปเดตพจนานุกรมใน Python
การอัปเดตองค์ประกอบภายในพจนานุกรม Python ของคุณประกอบด้วยสองขั้นตอน ขั้นแรกระบุว่าองค์ประกอบใดจำเป็นต้องอัปเดต และขั้นที่สองระบุค่าใหม่ที่ต้องกำหนด
ไวยากรณ์สำหรับสิ่งนี้มีดังนี้:
my_dict[key]=new_value
ตัวอย่างเช่น หากเราต้องการอัปเดตค่าที่เกี่ยวข้องกับคีย์ “cherry” เราสามารถทำได้โดยใช้โค้ดนี้:
my_dict[“cherry”]=8
โปรดทราบว่าหากคุณพยายามอัปเดตองค์ประกอบที่ไม่มีอยู่ในพจนานุกรมของคุณ องค์ประกอบนั้นจะสร้างให้คุณโดยอัตโนมัติ ตัวอย่างเช่น หากเราใช้โค้ดด้านล่างในพจนานุกรมตัวอย่างของเรา:
my_dict[“guava”]=2
มันจะสร้างองค์ประกอบเพิ่มเติมใน my_dict ด้วยคีย์ “ฝรั่ง” และค่าจำนวนเต็ม 2.
การลบองค์ประกอบออกจากพจนานุกรม
การลบองค์ประกอบออกจากพจนานุกรม Python เกี่ยวข้องกับการใช้คีย์เวิร์ด del. ไวยากรณ์สำหรับการลบองค์ประกอบออกจากพจนานุกรมมีดังนี้:
del my_dict[key]
ตัวอย่างเช่น หากต้องการลบองค์ประกอบที่เกี่ยวข้องกับคีย์”apple”ใน my_dict เราสามารถทำได้โดยใช้:
del my_dict[“apple”]
คุณยังสามารถลบองค์ประกอบออกจากพจนานุกรมโดยใช้ pop() วิธีการ เมธอด pop() ช่วยให้คุณสามารถลบองค์ประกอบที่ต้องการโดยใช้คีย์ที่เกี่ยวข้อง จากนั้นจึง ส่งคืนองค์ประกอบที่ถูกลบ
ใช้ตัวอย่างก่อนหน้าของเรา:
my_dict.pop(“pear”) #removes องค์ประกอบด้วยคีย์ “pear” และ ส่งกลับค่า 4
ให้เราดูที่พจนานุกรมซ้อนกัน
พจนานุกรมซ้อนใน Python
พจนานุกรมซ้อนใช้เพื่อเก็บโครงสร้างข้อมูลที่ซับซ้อนมากขึ้น เช่น คอลเลกชันของวัตถุหรือพจนานุกรมอื่น ๆ ไวยากรณ์สำหรับการซ้อนพจนานุกรมภายในอีกอันหนึ่งมีดังนี้:
my_dict={
“key1”: {“nested_key1”: “value1”, “nested_key2”: “value2”} ,
“key2”: {“nested_key3”: “value3”, “nested_key4”: “value4”}
}
คีย์เหล่านี้มีประโยชน์อย่างยิ่งสำหรับการจัดระเบียบ และจัดการข้อมูล เช่น เมื่อคุณต้องการเก็บข้อมูลที่เกี่ยวข้องหลายชิ้นเกี่ยวกับออบเจกต์เดียว
ลองนำตัวอย่างพจนานุกรมผลไม้ของเราจากก่อนหน้านี้มารวมไว้ในพจนานุกรมขนาดใหญ่ที่เรียกว่า ของชำ:
groceries={“fruits”: my_dict}
ที่นี่ เราได้สร้างพจนานุกรมใหม่ที่ชื่อว่า ของชำ และเพิ่มพจนานุกรม my_dict เป็นองค์ประกอบที่มีคีย์”ผลไม้”
เรายังสามารถจัดการพจนานุกรมที่ซ้อนกันโดยใช้การดำเนินการ CRUD (สร้างอ่านอัปเดตลบ) เช่นเดียวกับที่เราเคยทำมาก่อน มาดูกันว่าวิธีนี้ใช้งานได้จริงอย่างไร
การสร้างองค์ประกอบที่ซ้อนกันในพจนานุกรม
หากต้องการเพิ่มองค์ประกอบเพิ่มเติมให้กับพจนานุกรมที่ซ้อนกัน คุณสามารถใช้ไวยากรณ์เดิมได้ เพียงระบุคีย์ที่ต้องการ ตามด้วยค่าที่เกี่ยวข้องภายในวงเล็บปีกกา {} ตัวอย่างเช่น หากเราต้องการเพิ่มองค์ประกอบสำหรับ”องุ่น”ที่มีค่า 6 ลงในรายการขายของชำ เราสามารถทำได้โดยใช้รหัสนี้:
groceries[“fruits”][“grapes”]=6 # เพิ่มองุ่นด้วยค่า 6
Reading Nested Elements From a Dictionary
หากต้องการเข้าถึงองค์ประกอบภายในพจนานุกรมที่ซ้อนกัน เราใช้วงเล็บเหลี่ยม [] สองชุดโดยระบุตามลำดับ กุญแจ ตัวอย่างเช่น หากเราต้องการเข้าถึงค่าที่เกี่ยวข้องกับคีย์ “cherry” ในพจนานุกรมที่ซ้อนกัน (my_dict) เราจะใช้รหัสนี้:
print(groceries[“ fruit”][“cherry”]) # เอาต์พุต 5
การอัปเดตองค์ประกอบที่ซ้อนกันในพจนานุกรม
หากต้องการอัปเดตองค์ประกอบในพจนานุกรมที่ซ้อนกัน คุณสามารถใช้ไวยากรณ์เดิมได้ เพียงระบุคีย์ที่ต้องการ ตามด้วยค่าที่เกี่ยวข้องใหม่ภายในวงเล็บเหลี่ยม [] ตัวอย่างเช่น หากเราต้องการอัปเดตค่าที่เกี่ยวข้องกับคีย์”apple”เราสามารถทำได้โดยใช้รหัสนี้:
groceries[“fruits”][“apple”]=4 # อัปเดตค่าของ apple ถึง 4
การลบองค์ประกอบที่ซ้อนกันออกจากพจนานุกรม
การลบองค์ประกอบออกจากพจนานุกรมที่ซ้อนกันนั้นง่ายพอๆ สิ่งที่คุณต้องทำคือใช้คีย์เวิร์ด del ตามด้วยคีย์ทั้งสองตัวภายในวงเล็บเหลี่ยมสองชุด ตัวอย่างเช่น หากเราต้องการลบองค์ประกอบที่มีคีย์”กล้วย”เราสามารถทำได้โดยใช้รหัสนี้:
del groceries[“fruits”][“banana”] # Removes banana from my_dict
คุณยังสามารถใช้วิธีป๊อปกับพจนานุกรมที่ซ้อนกัน:
ของชำ[“ผลไม้”].pop(“กล้วย”) # ลบกล้วยออกจาก my_dict
มันคือ สิ่งสำคัญที่ต้องจำไว้ว่าเมื่อจัดการองค์ประกอบภายในพจนานุกรมที่ซ้อนกัน คุณต้องระบุคีย์ทั้งหมดที่จำเป็นในการอ้างอิงองค์ประกอบ (เช่นเดียวกับที่คุณทำในอาร์เรย์หลายมิติ) หากคีย์ใดไม่ถูกต้องหรือขาดหายไป องค์ประกอบจะไม่ถูกจัดการตามที่คุณต้องการ
วิธีการใช้พจนานุกรมอื่นๆ
พจนานุกรม Python ยังมีวิธีการในตัวอีกมากมายที่สามารถช่วยคุณได้ จัดการและดึงข้อมูลจากพวกเขา ตัวอย่างที่มีประโยชน์มากที่สุด ได้แก่ .keys(), .values() และ .items()
เมธอด.keys() ส่งคืนรายการคีย์ทั้งหมดในพจนานุกรม ในขณะที่เมธอด.values() ส่งคืนรายการคีย์ทั้งหมด ค่าในพจนานุกรม
ตัวอย่างเช่น หากเราต้องการพิมพ์คีย์ทั้งหมดในพจนานุกรมร้านขายของชำ เราสามารถทำได้โดยใช้โค้ดนี้:
print(groceries.keys()) # เอาต์พุต [ ผลไม้]
เมธอด.items() ส่งคืนคู่คีย์-ค่าทั้งหมดสำหรับแต่ละองค์ประกอบของพจนานุกรมเป็นทูเพิลในรายการ p>
สรุป
พจนานุกรมเป็นหนึ่งในโครงสร้างข้อมูลที่สำคัญที่สุดใน Python และการเรียนรู้วิธีการพื้นฐานที่เราได้ศึกษามาเป็นอย่างดีจะช่วยคุณในการปลดล็อกพลังที่แท้จริงใน Python. พวกมันอเนกประสงค์อย่างเหลือเชื่อและสามารถใช้งานได้หลากหลายตั้งแต่การจัดเก็บข้อมูลอย่างง่ายไปจนถึงการจัดการและวิเคราะห์ข้อมูลที่ซับซ้อน และด้วยความสามารถในการค้นหาค่าหรือคีย์เฉพาะได้อย่างรวดเร็ว โดยไม่ต้องวนซ้ำทุกองค์ประกอบของคอลเลกชัน พจนานุกรมจึงเป็นวิธีที่แน่นอนในการยกระดับเกม Python ของคุณไปอีกขั้น!
พจนานุกรมในภาษา Python และวิธีการใช้งาน (พร้อมตัวอย่าง) คำถามที่พบบ่อย (คำถามที่พบบ่อย)
พจนานุกรม Python คืออะไร
พจนานุกรม Python คือชุดของคีย์-คู่ค่า. ซึ่งคล้ายกับอาร์เรย์ แต่แทนที่จะจัดเก็บค่าในรายการที่มีการจัดทำดัชนี จะจัดเก็บในรูปแบบคีย์-ค่า โดยที่คีย์คือสตริงหรือจำนวนเต็ม และค่าสามารถเป็นประเภทใดก็ได้ พจนานุกรมเรียกอีกอย่างว่าอาร์เรย์เชื่อมโยงหรือแผนที่แฮช
ฉันจะสร้างพจนานุกรมจากประเภทข้อมูลอื่นใน Python ได้อย่างไร
คุณสามารถใช้ dict () ตัวสร้างเพื่อสร้างพจนานุกรมจากประเภทข้อมูลอื่นๆ เช่น รายการหรือทูเพิล ตัวอย่างเช่น หากคุณมีรายการสิ่งอันดับดังนี้: my_list=[(‘key1′,’value1’), (‘key2′,’value2’)] คุณสามารถใช้ตัวสร้าง dict() เพื่อสร้างพจนานุกรมได้ เช่น
my_dict=dict(my_list).
ฉันจะวนซ้ำพจนานุกรมได้อย่างไร
การวนซ้ำพจนานุกรมต้องใช้สอง ขั้นตอน: ก่อนอื่นคุณต้องวนซ้ำคีย์โดยใช้ for loop หรือ while loop; จากนั้นคุณต้องเข้าถึงค่าของแต่ละองค์ประกอบโดยใช้คีย์ที่เกี่ยวข้องภายในตัวลูป ตัวอย่างเช่น:
my_dict={‘key1′:’value1′,’key2′:’value2’}
สำหรับคีย์ใน my_dict:
print( my_dict[key]).
ระหว่าง pop() กับ del อันไหนดีกว่ากันเมื่อพูดถึงการลบองค์ประกอบออกจากพจนานุกรมใน Python?
ในขณะที่ ส่วนใหญ่ขึ้นอยู่กับสิ่งที่คุณพยายามทำให้สำเร็จ หากคุณต้องการเก็บรายการที่ถูกลบไว้เพื่อใช้ต่อไป pop() จะเป็นตัวเลือกที่ดีกว่า อย่างไรก็ตาม หากคุณต้องการลบรายการโดยไม่เรียกค้นข้อมูลนั้น del จะเหมาะสมกว่า นอกจากนี้.pop() ยังทำงานช้ากว่าเนื่องจากต้องใช้การเรียกฟังก์ชันแทนการดำเนินการดั้งเดิม
พจนานุกรม Python พื้นฐานที่ควรทำและไม่ควรทำมีอะไรบ้าง
Do: ใช้พจนานุกรมเมื่อคุณต้องการจัดเก็บคู่คีย์-ค่าอย่างมีประสิทธิภาพ ตรวจสอบให้แน่ใจว่าคีย์ของคุณไม่ซ้ำกันและไม่เปลี่ยนรูปแบบ
อย่าใช้: ใช้พจนานุกรมหากคุณต้องการจัดเก็บข้อมูลตามลำดับที่เฉพาะเจาะจง ใช้รายการแทน