© 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: ใช้พจนานุกรมเมื่อคุณต้องการจัดเก็บคู่คีย์-ค่าอย่างมีประสิทธิภาพ ตรวจสอบให้แน่ใจว่าคีย์ของคุณไม่ซ้ำกันและไม่เปลี่ยนรูปแบบ

อย่าใช้: ใช้พจนานุกรมหากคุณต้องการจัดเก็บข้อมูลตามลำดับที่เฉพาะเจาะจง ใช้รายการแทน

By Maisy Hall

ฉันทำงานเป็นนักเขียนอิสระ ฉันยังเป็นวีแก้นและนักอนุรักษ์สิ่งแวดล้อมด้วย พอมีเวลาก็ตั้งใจทำสมาธิ