Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ค่า (Values) ของ Dictionary ใน Python: คู่มือฉบับสมบูรณ์

เมธอด values() ของ dictionary ใน Python คืนค่าออบเจกต์ที่มีค่าทั้งหมดใน dictionary เมธอดนี้มีประโยชน์ถ้าคุณต้องการ iterate แค่ค่าใน dictionary ถ้าคุณเปลี่ยน dictionary ภายหลัง ข้อมูลที่จัดเก็บในเมธอด values() จะเปลี่ยนไปเพื่อสะท้อน dictionary ใหม่

เมื่อทำงานกับ Python คุณอาจตัดสินใจจัดเก็บข้อมูลใน dictionary ตัวอย่างเช่น สมมติคุณกำลังสร้างระบบจัดการร้านอาหาร คุณอาจต้องการใช้ dictionary จัดเก็บข้อมูลแต่ละออเดอร์

คุณอาจสงสัยว่า: จะดึงค่าที่จัดเก็บใน dictionary ได้อย่างไร? นี่คือที่มาของเมธอด values() ของ dictionary ใน Python เมธอด values() คืนค่าลิสต์ของค่าทั้งหมดที่จัดเก็บใน dictionary

บทช่วยสอนนี้จะอธิบายพร้อมตัวอย่าง พื้นฐานของ dictionary ใน Python และวิธีใช้เมธอด values()

เมธอด values() ของ Dictionary ใน Python

เมธอด values() ของ dictionary ใน Python คืนค่าลิสต์ของค่าใน dictionary values() ไม่รับอาร์กิวเมนต์ คุณระบุ values() หลังชื่อ dictionary

มาดูไวยากรณ์ของเมธอดนี้:

dict_name = { "name1": "value1" }
dict_name.values()

เห็นได้ว่า built-in function นี้ไม่รับพารามิเตอร์ใดๆ แทนที่จะเป็นการต่อเมธอดไว้ท้าย dictionary

values() ไม่คืนค่าลิสต์ คืนค่า dict_values object แทน เพื่อแปลงค่าเป็นลิสต์ทั่วไป คุณสามารถใช้เมธอด list() ใน Python:

81% ของผู้เข้าร่วมระบุว่ามีความมั่นใจมากขึ้นในโอกาสทางอาชีพด้านเทคโนโลยีหลังจากเข้าร่วมบูตแคมป์ ติดต่อเพื่อหาบูตแคมป์ที่เหมาะกับคุณวันนี้

นักเรียนบูตแคมป์เฉลี่ยใช้เวลาน้อยกว่า 6 เดือนในการเปลี่ยนสายอาชีพ ตั้งแต่เริ่มเรียนจนหางานแรกได้

dict_name = { "name1": "value1" }
new_list = list(dict_name.values())

ค่าของ new_list เป็นลิสต์ทั่วไปของค่าทั้งหมดใน dictionary ที่เราระบุ ลิสต์นี้ไม่ใช่ dict_values object เหมือนที่สร้างจากไวยากรณ์แรก

อีกทางหนึ่ง คุณสามารถเก็บ dict_values object ไว้ และ iterate ผ่านมันได้

เมธอด values() มักใช้ร่วมกับลูป for ใน Python เมื่อใช้กับลูป for คุณสามารถ iterate ผ่านทุกค่าใน dictionary ได้ ตัวอย่างเช่น ตรวจสอบว่าแต่ละคีย์ใน dictionary มีค่าหรือไม่

ตัวอย่างการใช้ values() ของ Dictionary ใน Python

เรามี dictionary ใน Python เก็บข้อมูลนักเรียนคนหนึ่งที่โรงเรียน

simon = {
    'name': 'Simon Henderson',
    'birthday': '02/09/2002',
    'class': 'Senior Year',
    'honor_roll': True
}

name เป็นคีย์ ค่าที่เชื่อมโยงคือ Simon Henderson birthday ก็เป็นคีย์เช่นกัน มีค่า 02/09/2002 เรายังเก็บข้อมูลชั้นเรียนของนักเรียน และว่าอยู่ในรายชื่อเกียรตินิยมของโรงเรียนหรือไม่

สมมติเราต้องการดึงลิสต์ของค่าทั้งหมดที่จัดเก็บใน dictionary ของเรา นี่จะให้เราทำงานกับแต่ละค่าได้โดยไม่ต้องจัดการกับคีย์ของ dictionary เราสามารถดึงค่าเหล่านี้ได้ด้วยเมธอด values():

simon = {
    'name': 'Simon Henderson',
    'birthday': '02/09/2002',
    'class': 'Senior Year',
    'honor_roll': True
}
print(simon.values())

โค้ดคืนค่า:

dict_values(['Simon Henderson', '02/09/2002', 'Senior Year', True])

ก่อนอื่น เราประกาศ dictionary ด้วย 4 คีย์และค่า ชื่อ dictionary นี้คือ simon จากนั้นดึงค่าที่จัดเก็บใน dictionary ของเราโดยใช้เมธอด values() และพิมพ์ออกคอนโซล

โค้ดคืนค่า dict_values object ที่มีลิสต์ของค่าทั้งหมดใน dictionary ของเรา

การ Iterate ด้วยลูป for

สมมติเราต้องการพิมพ์ลิสต์ของค่าทั้งหมดใน dictionary ของเราออกคอนโซล แต่ละค่าในบรรทัดใหม่ นี่คือที่มาของลูป for

เราสามารถใช้ลูป for iterate ผ่านทุกรายการในออบเจกต์ dict_values ของเรา และพิมพ์แต่ละรายการออกคอนโซล:

simon = {
    'name': 'Simon Henderson',
    'birthday': '02/09/2002',
    'class': 'Senior Year',
    'honor_roll': True
}
for item in simon.values():
    print(item)

โค้ดคืนค่า:

Simon Henderson
02/09/2002
Senior Year
True

เนื่องจากเมธอด values() คืนค่า dict_object พร้อมลิสต์คีย์ของเรา เราจึงสามารถ iterate ผ่านมันด้วยลูป for ได้

ในตัวอย่างนี้ เราสร้างลูป for ที่รันทุกค่าใน dictionary simon ทุกครั้งที่ลูป for ทำงาน ค่าจาก dictionary จะถูกพิมพ์ออกคอนโซล จนกว่าจะวนครบทุกค่า

หลังจากพิมพ์ค่าทั้งหมดออกคอนโซลแล้ว โค้ดจะหยุดทำงาน

การตรวจสอบข้อมูลด้วยลูป for

เราสามารถใช้ลูป for และเมธอด values() เพื่อตรวจสอบว่า dictionary ของเรามี string ว่างหรือไม่

พิจารณาโค้ดต่อไปนี้:

simon = {
    'name': 'Simon Henderson',
    'birthday': '02/09/2002',
    'class': 'Senior Year',
    'honor_roll': True
}
blank = 0
for item in simon.values():
    if item == "":
        blank += 1
print("There are {} blank values in the dictionary.".format(blank))

เราประกาศตัวแปร Python ชื่อ blank ตัวแปรนี้ติดตามว่ามีค่าว่างกี่ค่าใน dictionary ของเรา

เราใช้คำสั่ง if ใน Python ภายในลูป for ประเมินว่า item ใดมีค่า "" หรือไม่ ค่านี้คือ string ว่าง ถ้ามี string ว่างในลิสต์ โค้ดจะเพิ่ม 1 เข้าไปในตัวแปร "blank"

เมื่อลูปทำงานเสร็จ โค้ดจะบอกว่ามีค่าว่างกี่ค่าใน dictionary เราใช้คำสั่ง format() ใน Python ใส่จำนวนค่าว่างเข้าไปใน string ที่พิมพ์ออกคอนโซล

สรุป

เมธอด values() ของ dictionary ใน Python ดึงค่าใน dictionary ค่าจะอยู่ในรูปแบบ dict_values object คุณสามารถอ่านค่าแต่ละค่าที่คืนโดยเมธอด values() ได้ด้วยลูป for

บทช่วยสอนนี้อธิบายวิธีใช้เมธอด dictionary.values() เพื่อดึงค่าใน dictionary ตอนนี้คุณพร้อมที่จะทำงานกับเมธอด values() อย่างมืออาชีพแล้ว!

ต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Python? อ่านคู่มือ How to Learn Python ของเรา คู่มือนี้มีรายการคอร์สที่คัดสรรมา เคล็ดลับการเรียนรู้ หนังสือ และแหล่งข้อมูลที่คุณสามารถใช้เพื่อพัฒนาความรู้ Python ได้