ค้นหาเว็บไซต์

เรียนรู้โครงสร้างข้อมูลพจนานุกรม Python - ตอนที่ 3


ใน ส่วนที่ 3 ของซีรีส์โครงสร้างข้อมูล Python นี้ เราจะมาคุยกันว่าพจนานุกรมคืออะไร มันแตกต่างจากโครงสร้างข้อมูลอื่นๆ ใน Python อย่างไร วิธีสร้าง ลบอ็อบเจ็กต์พจนานุกรม และวิธีการของอ็อบเจ็กต์พจนานุกรม

  • Dictionary เป็นการใช้งาน “โครงสร้างข้อมูล Python ” ในตัว ซึ่งเป็นชุดของคู่ “คีย์: ค่า
  • พจนานุกรมสร้างขึ้นโดยใช้เครื่องหมายปีกกาที่มีคีย์และค่าคั่นด้วยเครื่องหมายอัฒภาค {Key : Value}
  • เช่นเดียวกับรายการ ออบเจ็กต์พจนานุกรมเป็นประเภทข้อมูลที่ไม่แน่นอน ซึ่งหมายความว่าออบเจ็กต์สามารถแก้ไขได้เมื่อสร้างพจนานุกรมแล้ว
  • โครงสร้างการใช้งานพจนานุกรมใน python โดยทั่วไปรู้จักกันในชื่อ “Associative array
  • ใน รายการ หรือ สิ่งอันดับ เราสามารถเข้าถึงรายการต่างๆ ได้โดยการอ้างอิงตำแหน่งดัชนี เนื่องจากรายการต่างๆ ภายในรายการได้รับการเรียงลำดับ (เช่น จัดเก็บตามลำดับที่สร้างขึ้น) ออบเจ็กต์พจนานุกรมสามารถอยู่ในลำดับใดก็ได้เนื่องจากมีการเข้าถึงรายการโดยใช้ “คีย์ ” ที่เชื่อมโยงกัน
  • พจนานุกรมมีประโยชน์มากเมื่อเราต้องจัดเก็บวัตถุและอ้างอิงตามชื่อ
  • ออบเจ็กต์พจนานุกรม “คีย์ ” ต้องเป็นประเภทที่ไม่ซ้ำและไม่เปลี่ยนรูป
  • ออบเจ็กต์พจนานุกรม “คีย์ ” อาจเป็นได้ทั้งสตริง จำนวนเต็ม ค่าลอยตัว
  • พจนานุกรม “ค่า ” อาจเป็นข้อมูลประเภทใดก็ได้

สร้างวัตถุพจนานุกรม

สามารถสร้างออบเจ็กต์ พจนานุกรม ได้โดยใช้เครื่องหมายปีกกาที่มีคีย์คั่นอัฒภาคและคู่ค่า “{Key:value} ” หรือ “dict() ” ตัวสร้าง วิธี.

เพื่อสาธิต ฉันจะสร้างพจนานุกรมที่จะจัดเก็บข้อมูลเกี่ยวกับ ทีมฟุตบอล และ XI ที่กำลังเล่น โดยมีตำแหน่งเป็น คีย์ และผู้เล่น ตั้งชื่อเป็น ค่า

คุณสามารถใช้เมธอดคอนสตรัคเตอร์ dict() เพื่อสร้างออบเจ็กต์พจนานุกรมได้

เข้าถึง Ditonary Object

รายการพจนานุกรมเข้าถึงได้โดยการอ้างอิง “คีย์ ” แทนการจัดทำดัชนี คุณสามารถใช้การจัดทำดัชนีได้หากเรามีประเภทข้อมูลลำดับใดๆ (สตริง รายการ สิ่งอันดับ ฯลฯ) ภายในพจนานุกรม

สามารถเข้าถึงรายการได้โดยใช้ dic_object[“key ”]

KeyError ” จะปรากฏขึ้นหากคุณพยายามเข้าถึงรายการพจนานุกรมด้วยการจัดทำดัชนี หรือหากคุณพยายามเข้าถึง “คีย์ ” ที่ไม่ได้เป็นส่วนหนึ่งของพจนานุกรม

แก้ไขและลบวัตถุพจนานุกรม

คุณสามารถแก้ไขรายการที่มีอยู่หรือเพิ่มรายการใหม่โดยการอ้างอิงคีย์โดยตรง Dictionary_object[“key ”]=value การดำเนินการนี้จะอัปเดตค่าหากมีคีย์ มิฉะนั้นจะเพิ่มรายการใหม่ลงในพจนานุกรม

ลบ

คุณสามารถลบค่าเฉพาะตามคีย์หรือลบคีย์หรือลบออบเจ็กต์พจนานุกรมออกจากเนมสเปซโดยใช้คีย์เวิร์ด “del ” ในตัว

วิธีการพจนานุกรม

คุณสามารถใช้ฟังก์ชัน “dir() ” ในตัวเพื่อค้นหาวิธีการและแอตทริบิวต์ที่ใช้ได้สำหรับออบเจ็กต์พจนานุกรม

clear() – วิธีนี้จะลบรายการทั้งหมดออกจากวัตถุพจนานุกรม วิธีนี้ไม่มีการโต้แย้งใดๆ

Copy() – มันจะส่งคืนสำเนาแบบตื้นของออบเจ็กต์พจนานุกรม เมธอด copy() ไม่ใช้พารามิเตอร์ใดๆ เป็นอาร์กิวเมนต์

Keys() – วิธีการนี้ส่งคืนวัตถุมุมมองสำหรับคีย์ที่มีอยู่ในพจนานุกรมเป็นวัตถุคีย์พจนานุกรม วิธีนี้ไม่มีการโต้แย้งใดๆ

ค่า() – วิธีการนี้ส่งคืนออบเจ็กต์มุมมองสำหรับค่าจากออบเจ็กต์พจนานุกรม วิธีนี้ไม่มีการโต้แย้ง

Items() – เมธอดนี้จะส่งคืน คู่ tuple(key,value) จากออบเจ็กต์พจนานุกรม

Setdefault() – วิธีการนี้จะค้นหาคีย์ที่กำหนดในพจนานุกรม หากไม่พบคีย์ในพจนานุกรม คีย์นั้นจะถูกเพิ่มลงในพจนานุกรม
ต้องใช้ 2 อาร์กิวเมนต์ dic.setdefault(key,[,default value])

ค่าเริ่มต้นจะถูกตั้งเป็น ไม่มี หากไม่มีการระบุค่า

get() – เมธอดนี้จะคืนค่าของคีย์ที่ระบุหากคีย์นั้นมีอยู่ในพจนานุกรม

Syntax dict.get(key[, value]) 

วิธีนี้รับ 2 อาร์กิวเมนต์ ประการแรกคืออาร์กิวเมนต์อินพุตที่จะค้นหาคีย์ที่กำหนดในพจนานุกรมและส่งกลับค่าของคีย์ที่พบ อาร์กิวเมนต์ที่สองจะส่งกลับค่าหากไม่พบคีย์ ค่าเริ่มต้นที่ส่งคืนคือ “ไม่มี

อัปเดต() – วิธีการอัปเดตเพิ่มรายการลงในพจนานุกรมหากคีย์ไม่อยู่ในพจนานุกรม หากพบว่าคีย์นั้นคีย์นั้นจะถูกอัพเดตด้วยค่าใหม่ วิธีการอัปเดตยอมรับวัตถุพจนานุกรมอื่นของคู่ k: v หรือวัตถุที่ทำซ้ำได้ของคู่ k: v เช่น คู่ของสิ่งอันดับ

การลบ/ลบวัตถุพจนานุกรม

ป๊อป() – เมธอดนี้จะลบค่าตามคีย์ที่เป็นอินพุต และส่งกลับค่าที่ถูกลบออก

วิธีนี้ยอมรับพารามิเตอร์สองตัว

  1. คีย์ – คีย์ที่จะค้นหาในออบเจ็กต์พจนานุกรม
  2. ค่าเริ่มต้น – ส่งคืนค่าที่จะระบุหากไม่พบคีย์ในพจนานุกรม

หมายเหตุ หากไม่พบรหัสในพจนานุกรม และหากคุณไม่ระบุค่าเริ่มต้น “KeyError ” จะเพิ่มขึ้น

Popitem() – ลบองค์ประกอบที่กำหนดเองออกจากวัตถุพจนานุกรม ไม่ยอมรับอาร์กิวเมนต์ และจะส่งกลับ “KeyError ” หากระบุว่าพจนานุกรมว่างเปล่า

เช่นเดียวกับ list และ tuples เราสามารถใช้คีย์เวิร์ด del เพื่อลบรายการในวัตถุพจนานุกรมหรือลบวัตถุพจนานุกรมออกจากเนมสเปซ

สรุป

ในบทความนี้ คุณคงได้เห็นแล้วว่าพจนานุกรมคืออะไร และแตกต่างจากโครงสร้างข้อมูลอื่นๆ ใน Python อย่างไร คุณยังได้เห็นวิธีการสร้าง เข้าถึง แก้ไข และลบออบเจ็กต์พจนานุกรมอีกด้วย

กรณีการใช้งานที่เหมาะสมที่สุดของพจนานุกรมคือเมื่อเราต้องจัดเก็บข้อมูลตามชื่อและอ้างอิงตามชื่อของมัน ในบทความถัดไป เราจะเห็นโครงสร้างข้อมูลในตัวของ Python อีกประเภทหนึ่ง “set/Frozenset ” คุณสามารถอ่านเพิ่มเติมเกี่ยวกับพจนานุกรมได้ที่นี่