시작하기무료로 시작하기

데이터 저장용 namedtuple 만들기

데이터를 다룰 때 코드 가독성과 데이터 접근을 쉽게 하려고 딕셔너리를 자주 사용하곤 해요. Python에는 namedtuple이라는 또 다른 컨테이너가 있는데, 튜플이면서도 각 위치에 이름을 붙일 수 있어요. 튜플 타입 이름과 필드 이름 리스트를 전달해 만들 수 있습니다.

예를 들어, Cookie = namedtuple("Cookie", ['name', 'quantity'])는 컨테이너를 만들고, Cookie('chocolate chip', 1)처럼 새 인스턴스를 생성할 수 있어요. 이때 name 속성으로 이름을, quantity 속성으로 수량을 가져올 수 있습니다.

이 연습에서는 지금까지 사용하던 펭귄 체중 로그 데이터를 더 설명적인 코드로 바꾸기 위해 namedtuple 구조로 재구성해 보겠습니다.

이 연습은 강의의 일부입니다

Python의 데이터 타입

강의 보기

연습 안내

  • collections에서 namedtuple을 가져오세요.
  • SpeciesDetails라는 namedtuple을 만들고, 타입 이름은 SpeciesDetails, 필드는 'species', 'sex', 'body_mass'로 지정하세요.
  • labeled_entries라는 리스트를 만드세요.
  • weight_log 리스트를 반복하면서 각 항목을 species, sex, body_mass로 언패킹한 뒤, 각 항목마다 새로운 SpeciesDetails namedtuple 인스턴스를 만들어 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])
코드 편집 및 실행