开始使用免费开始使用

创建用于存储数据的命名元组

在处理数据时,您常会用字典,通过键名让代码更易读、数据更易访问。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 列表,将其中每条记录解包为 speciessexbody_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])
编辑并运行代码