Python ตอนที่ 119 การเข้าถึงข้อมูลใน Dictionary

ถ้าต้องการเข้าถึงข้อมูลใน Dictionary สามารถทำได้โดยระบุชื่อ key ไว้ภายในวงเล็บสี่เหลี่ยม ดังนี้

dict["key"]

ตัวอย่าง

phone = {
    "brand": "Apple",
    "model": "iPhone 14",
    "year": 2022,
    "colors": ["Red", "Blue", "White", "Black", "Purple"],
    "price": 37900
}
x = phone["model"]
print(x)
  • บรรทัดที่ 8 เข้าถึงข้อมูลใน Dictionary โดยระบุ key เป็น model แล้วเก็บไว้ในตัวแปร x
  • บรรทัดที่ 9 แสดงผลค่าทีเก็บอยู่ในตัวแปร x

ผลลัพธ์

iPhone 14

เมธอด get()

การเข้าถึงค่าข้อมูลใน Dictionary อีกวิธีหนึ่งคือ การใช้เมธอด get() ซึ่งมีรูปแบบการใช้งานดังนี้

dict.get("key")
phone = {
    "brand": "Apple",
    "model": "iPhone 14",
    "year": 2022,
    "colors": ["Red", "Blue", "White", "Black", "Purple"],
    "price": 37900
}
x = phone.get("model")
print(x)
  • บรรทัดที่ 8 เข้าถึงค่าข้อมูลใน Dictionary โดยใช้งานเมธอด get() แล้วเก็บไว้ที่ตัวแปร x
  • บรรทัดที่ 9 แสดงผลค่าที่เก็บอยู่ในตัวแปร x

ผลลัพธ์

iPhone 14

เมธอด keys()

ถ้าต้องการดึงเอา keys ทั้งหมดที่มีอยู่ใน Dictionary สามารถทำได้โดยใช้เมธอด keys()

phone = {
    "brand": "Apple",
    "model": "iPhone 14",
    "year": 2022,
    "colors": ["Red", "Blue", "White", "Black", "Purple"],
    "price": 37900
}
x = phone.keys()
print(x)
  • บรรทัดที่ 8 ใช้เมธอด keys() ดึงเอาคีย์ทั้งหมดที่มีอยู่ใน Dictionary

จะได้ผลลัพธ์เป็นรายการคีย์ของ Dictionary

dict_keys([‘brand’, ‘model’, ‘year’, ‘colors’, ‘price’])

เมธอด values()

ถ้าต้องการดึงเอาค่าทั้งหมดที่เก็บอยู่ใน Dictionary ก็สามารถทำได้โดยใช้เมธอด values()

phone = {
    "brand": "Apple",
    "model": "iPhone 14",
    "year": 2022,
    "colors": ["Red", "Blue", "White", "Black", "Purple"],
    "price": 37900
}
x = phone.values()
print(x)
  • บรรทัดที่ 8 ใช้เมธอด values() ดึงเอาค่าทั้งหมดที่เก็บอยู่ใน Dictionary

ผลลัพธ์

dict_values([‘Apple’, ‘iPhone 14’, 2022, [‘Red’, ‘Blue’, ‘White’, ‘Black’, ‘Purple’], 37900])

เมธอด items()

เราสามารถดึงเอาสมาชิกทั้งหมดใน Dictionary ออกมาได้โดยใช้เมธอด items() โดยผลลัพธ์ที่ได้จะเป็นสมาชิกแต่ละตัวใน Dictionary ที่จับคู่กันแบบ key:value ซึ่งจะออกมาในรูปแบบ Tuple ซึ่งซ้อนอยู่ใน List อีกที

phone = {
    "brand": "Apple",
    "model": "iPhone 14",
    "year": 2022,
    "colors": ["Red", "Blue", "White", "Black", "Purple"],
    "price": 37900
}
x = phone.items()
print(x)
  • บรรทัดที่ 8 ดึงเอาสมาชิกทั้งหมดใน Dictionary ออกมาด้วยเมธอด items()

ผลลัพธ์ จะได้สมาชิกแต่ละตัวใน Dictionary ที่จับคู่กันแบบ key:value ซึ่งจะออกมาในรูปแบบ Tuple ซึ่งซ้อนอยู่ใน List อีกที

dict_items([(‘brand’, ‘Apple’), (‘model’, ‘iPhone 14’), (‘year’, 2022), (‘colors’, [‘Red’, ‘Blue’, ‘White’, ‘Black’, ‘Purple’]), (‘price’, 37900)])

ตรวจสอบว่ามีคีย์ตามที่ระบุหรือไม่

ถ้าต้องการตรวจสอบว่ามี key ตามที่ระบุอยู่ใน Dictionary หรือไม่ สามารถทำได้โดยใช้คีย์เวิร์ด in ดังนี้

phone = {
    "brand": "Apple",
    "model": "iPhone 14",
    "year": 2022,
    "colors": ["Red", "Blue", "White", "Black", "Purple"],
    "price": 37900
}
if "colors" in phone:
    print("Yes")
else:
    print("No")
  • บรรทัดที่ 8 – 11 ใช้คีย์เวิร์ด in ตรวจสอบว่ามีคีย์ colors อยู่ใน Dictionary หรือไม่ ถ้ามีให้แสดงผล “Yes” ถ้าไม่มีให้แสดงผล “No”

ผลลัพธ์

Yes