namedtuple顾名思义,就是名字+元组的数据结构,下面就来看一下Python的collections模块中namedtuple结构使用示例,namedtuple 就是命名的 tuple,比较像 C 语言中 struct。一般情况下的 tuple 是 (item1, item2, item3,…),所有的 item 都只能按照 index 访问,没有明确的称呼,而 namedtuple 就是事先把这些 item 命名,以后可以方便访问。
import collections
person = collections.namedtuple(Person,['name','age','sex'])
p1 = person('lhw',22,'男')
print(p1.name)
#结果: lhw
print(p1[2])
#结果: 男
namedtuple 还提供了 _make 从 iterable 对象中创建新的实例:
p2 = person._make(['aa',1,'女'])
print(p2.age)
#结果: 1