创建用于存储数据的命名元组
在处理数据时,您常会用字典,通过键名让代码更易读、数据更易访问。Python 还有一种容器叫作 namedtuple,它本质是元组,但为元组中的每个位置都提供了名称。您可以为类型传入一个名称,并提供字段名列表来创建它。
例如,Cookie = namedtuple("Cookie", ['name', 'quantity']) 会创建一个容器。随后可以使用 Cookie('chocolate chip', 1) 来创建该类型的新实例。您可以通过 name 属性访问名称,通过 quantity 属性获取数量。
在本练习中,您将把一直使用的企鹅体重日志数据重构为命名元组,使代码更具可读性与可描述性。
本练习是课程的一部分
Python 的数据类型
练习说明
- 从
collections导入namedtuple。 - 创建一个名为
SpeciesDetails的命名元组,类型名为SpeciesDetails,字段为'species'、'sex'和'body_mass'。 - 创建一个名为
labeled_entries的列表。 - 遍历
weight_log列表,将其中每条记录解包为species、sex和body_mass,为每条记录创建一个新的SpeciesDetails命名元组实例,并将其追加到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])