Bắt đầu ngayBắt đầu miễn phí

Tạo namedtuple để lưu trữ dữ liệu

Khi làm việc với dữ liệu, bạn thường dùng dictionary để đặt tên khóa, giúp code dễ đọc và việc truy cập dữ liệu dễ hiểu hơn. Python có một cấu trúc khác gọi là namedtuple: về bản chất là tuple, nhưng mỗi vị trí trong tuple có kèm tên. Bạn tạo nó bằng cách truyền vào tên kiểu tuple và một danh sách các tên trường.

Ví dụ, Cookie = namedtuple("Cookie", ['name', 'quantity']) sẽ tạo một container, và bạn có thể tạo thực thể mới kiểu đó với Cookie('chocolate chip', 1); khi đó bạn truy cập tên bằng thuộc tính name, và lấy số lượng bằng thuộc tính quantity.

Trong bài này, bạn sẽ cấu trúc lại dữ liệu nhật ký cân nặng của chim cánh cụt mà bạn đã làm việc trước đó thành các namedtuple để mã trở nên mô tả, dễ đọc hơn.

Bài tập này là một phần của khóa học

Các kiểu dữ liệu trong Python

Xem khóa học

Hướng dẫn bài tập

  • Import namedtuple từ collections.
  • Tạo một namedtuple tên SpeciesDetails với tên kiểu là SpeciesDetails và các trường 'species', 'sex', và 'body_mass'.
  • Tạo một danh sách tên labeled_entries.
  • Lặp qua danh sách weight_log, giải nén mỗi phần tử thành species, sex, và body_mass, tạo một thực thể namedtuple SpeciesDetails cho mỗi mục và thêm nó vào labeled_entries.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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])
Chỉnh sửa và Chạy Mã