เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การสร้าง namedtuple สำหรับจัดเก็บข้อมูล

ในการทำงานกับข้อมูล เรามักใช้ dictionary เพื่อให้สามารถอ้างอิงข้อมูลด้วยชื่อ key ทำให้โค้ดอ่านง่ายและเข้าถึงข้อมูลได้สะดวกขึ้น Python มี container อีกประเภทหนึ่งเรียกว่า namedtuple ซึ่งเป็น tuple ที่มีชื่อกำกับแต่ละตำแหน่ง วิธีสร้างคือส่งชื่อสำหรับประเภทของ tuple และ list ของชื่อฟิลด์เข้าไป

ตัวอย่างเช่น Cookie = namedtuple("Cookie", ['name', 'quantity']) จะสร้าง container ขึ้นมา และสามารถสร้าง instance ใหม่ได้ด้วย Cookie('chocolate chip', 1) จากนั้นเข้าถึงชื่อได้ผ่าน attribute name และดูจำนวนได้ผ่าน attribute quantity

ในแบบฝึกหัดนี้ จะได้ปรับโครงสร้างข้อมูลบันทึกน้ำหนักเพนกวินที่ใช้งานอยู่ให้อยู่ในรูป namedtuple เพื่อให้โค้ดอ่านเข้าใจได้ง่ายยิ่งขึ้น

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

ประเภทข้อมูลใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • Import namedtuple จาก collections
  • สร้าง namedtuple ชื่อ SpeciesDetails โดยกำหนด type name เป็น SpeciesDetails และฟิลด์เป็น 'species', 'sex', และ 'body_mass'
  • สร้าง list ชื่อ labeled_entries
  • วนซ้ำใน list weight_log โดย unpack แต่ละรายการออกเป็น species, sex, และ body_mass จากนั้นสร้าง instance ใหม่ของ SpeciesDetails namedtuple สำหรับแต่ละรายการ แล้ว append เข้าไปใน labeled_entries

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Import namedtuple from collections
from collections import ____

# Create the namedtuple: SpeciesDetails
SpeciesDetails = ____(____, ['species', 'sex', 'body_mass'])

# Create the empty list: labeled_entries
labeled_entries = []

# Iterate over the weight_log entries
for ____, ____, ____ in ____:
    # Append a new SpeciesDetails namedtuple instance for each entry to labeled_entries
    ____
    
print(labeled_entries[:5])
แก้ไขและรันโค้ด