เมธอด keys() ของ dictionary ใน Python คืนค่าออบเจกต์ที่มีคีย์ทั้งหมดใน dictionary คุณสามารถใช้เมธอด list() แปลงออบเจกต์นี้เป็นลิสต์ ไวยากรณ์ของเมธอด keys() คือ: dictionary.keys()
คุณอาจต้องการดึงลิสต์ของคีย์ทั้งหมดที่จัดเก็บใน dictionary
เช่น สมมติว่าคุณมี dictionary เก็บข้อมูลหนังสือในห้องสมุด คุณอาจต้องการดึงคีย์ทั้งหมดออกมา เพื่อรู้ว่าคุณจัดเก็บข้อมูลประเภทไหนบ้าง
นี่คือที่มาของเมธอด keys() ของ dictionary บทช่วยสอนนี้จะอธิบายพร้อมตัวอย่าง วิธีใช้เมธอด keys() ของ dictionary ใน Python
เมธอด keys() ของ Dictionary ใน Python
เมธอด keys() ของ dictionary ใน Python คืนค่าคีย์ทั้งหมดใน dictionary เมธอดนี้คืนคีย์เป็นออบเจกต์พิเศษที่คุณสามารถ iterate ผ่านได้ keys() ไม่รับอาร์กิวเมนต์ใดๆ
ไวยากรณ์ของเมธอด keys():
dict_name.keys()
เราเพิ่มเมธอด keys() หลังชื่อ dictionary
เมธอด keys() คืนค่า view object แทนที่จะเป็นลิสต์ของคีย์ ออบเจกต์นี้ iterable ได้ ดังนั้นคุณสามารถดูเนื้อหาได้ด้วยคำสั่ง for แต่บางครั้งอาจจำเป็นต้องแปลงออบเจกต์นี้เป็นลิสต์
81% ของผู้เข้าร่วมระบุว่ามีความมั่นใจมากขึ้นในโอกาสทางอาชีพด้านเทคโนโลยีหลังจากเข้าร่วมบูตแคมป์ ติดต่อเพื่อหาบูตแคมป์ที่เหมาะกับคุณวันนี้
นักเรียนบูตแคมป์เฉลี่ยใช้เวลาน้อยกว่า 6 เดือนในการเปลี่ยนสายอาชีพ ตั้งแต่เริ่มเรียนจนหางานแรกได้
สมมติคุณต้องการพิมพ์คีย์ทั้งหมดใน dictionary ออกคอนโซล คุณควรแปลงคีย์เป็นลิสต์ เพื่อให้เอาต์พุตอ่านง่ายขึ้น:
key_list = list(dictionary.keys()) print(key_list)
โค้ดนี้คืนค่าลิสต์ของคีย์ เรารู้ว่าเป็นลิสต์เพราะค่าอยู่ในวงเล็บเหลี่ยม
อีกทางหนึ่ง สมมติคุณต้องการหาคีย์แรกใน dictionary คุณสามารถทำได้ด้วยการเข้าถึงดัชนี (indexing) แต่คุณต้องแปลงชุดคีย์เป็นลิสต์ก่อน:
key_list = list(dictionary.keys()) print(key_list[0])
โค้ดนี้หาคีย์ที่ตำแหน่ง index 0 ในลิสต์ของคีย์ dictionary
ตัวอย่างการใช้ keys() ของ Dictionary ใน Python
เรามี dictionary เก็บข้อมูลออเดอร์ที่ร้านเบเกอรี่ Dictionary นี้มี 3 คีย์: product, price, และ mayo แต่ละคีย์มีค่า
เราต้องการรู้ว่าเราเก็บข้อมูลอะไรเกี่ยวกับแต่ละออเดอร์ เพราะร้านเบเกอรี่กำลังพิจารณาเพิ่มข้อมูลใหม่ในใบสั่งซื้อแต่ละใบ ก่อนจะทำ พวกเขาต้องการรู้ข้อมูลทั้งหมดที่เก็บอยู่
เพื่อดึงลิสต์คีย์ใน dictionary เราสามารถใช้เมธอด keys():
order = {
'product': 'Ham Sandwich',
'price': 2.10,
'mayo': False
}
order_keys = order.keys()
print(order_keys)
โค้ดคืนค่า:
['product','price','mayo']
ก่อนอื่น เรากำหนด dictionary ใน Python ชื่อ order จากนั้นใช้ order.keys() ดึงลิสต์คีย์ใน dictionary มา มอบหมายให้ตัวแปร order_keys ต่อมา พิมพ์ค่าของตัวแปร order_keys ออกคอนโซล
โค้ดคืนค่าคีย์ทั้งหมดใน dictionary
การอัปเดต Dictionary
เมธอด keys() จะอัปเดตอยู่เสมอเมื่อเราเพิ่มคีย์ใหม่เข้าไปใน dictionary
สมมติเราเพิ่มคีย์ใหม่เข้าไปใน dictionary เก็บว่าลูกค้าจ่ายเงินสำหรับออเดอร์เบเกอรี่ด้วยบัตรของขวัญหรือไม่ โค้ดเพิ่มคีย์นี้:
order = {
'product': 'Ham Sandwich',
'price': 2.10,
'mayo': False
}
order_keys = order.keys()
order["gift_card"] = False
print(order_keys)
เราใช้การเข้าถึงแบบ index เพื่อสร้างคีย์ "gift_card" ที่เชื่อมโยงกับค่า False คำสั่งนี้อยู่หลังจากที่เรามอบหมายลิสต์คีย์ให้ตัวแปร order_keys แล้ว
โค้ดคืนค่า:
['product','price','mayo','gift_card']
เราเพิ่มบรรทัดใหม่ 1 บรรทัด สร้างรายการใหม่ใน dictionary ด้วยชื่อคีย์ gift_card และค่า False
จากนั้นพิมพ์เนื้อหาตัวแปร order_keys ออกคอนโซล แม้เราจะดึงคีย์ใน dictionary ด้วย order.keys() ก่อนเพิ่มค่าใหม่ โปรแกรมยังคงติดตามการเปลี่ยนแปลงได้
แม้หลังจากเพิ่มคีย์ใหม่ เมธอด keys() ยังคงเก็บลิสต์คีย์ทั้งหมดใน dictionary อยู่ในสภาพทันสมัยเสมอ
ตรวจสอบว่าคีย์อยู่ใน Dictionary ใน Python
การใช้งานทั่วไปของเมธอด keys() คือ ตรวจสอบว่าคีย์อยู่ใน dictionary หรือไม่ เราสามารถตรวจสอบได้ด้วยคำสั่ง in ใน Python คำสั่งนี้มักใช้ร่วมกับคำสั่ง if
สมมติเราต้องการตรวจสอบว่าคีย์ mayo อยู่ใน dictionary order ของเราหรือไม่ ทำได้ด้วยโค้ดนี้:
order = {
'product': 'Ham Sandwich',
'price': 2.10,
'mayo': False
}
if "mayo" in order.keys():
print("The 'mayo' key is in the order dictionary.")
else:
print("The 'mayo' key is not in the order dictionary")
โค้ดคืนค่า:
"The 'mayo' key is in the order dictionary."
ในโค้ดเรากำหนด dictionary order ก่อน ใช้คำสั่ง if...in ใน Python ตรวจสอบว่าคีย์ mayo หาได้ในลิสต์คีย์ที่สร้างโดย order.keys() หรือไม่
mayo เป็นคีย์ใน dictionary order ดังนั้นคำสั่ง if ของเราประเมินเป็น true และโค้ดใน if ทำงาน ถ้าเราลบคีย์ mayo ออก ข้อความต่อไปนี้จะคืนค่า:
"The 'mayo' key is not in the order dictionary.
โค้ดของเราตระหนักได้สำเร็จว่า mayo ไม่ใช่คีย์ใน dictionary แล้ว ดังนั้นโค้ดใน else จะทำงาน
สรุป
เมธอด keys() ของ dictionary ดึงลิสต์ของคีย์ใน dictionary ของ Python เมื่อใช้ร่วมกับคำสั่ง if...in เมธอด keys() ช่วยให้คุณตรวจสอบได้ว่าคีย์มีอยู่ใน dictionary ของ Python หรือไม่ เมธอด keys() ไม่รับอาร์กิวเมนต์ใดๆ
ต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการเขียนโค้ดใน Python? อ่านคู่มือ How to Learn Python ของเรา คุณจะพบคำแนะนำจากผู้เชี่ยวชาญและคำแนะนำเกี่ยวกับคอร์สออนไลน์ชั้นนำและแหล่งข้อมูล Python