命名元组
Python中提供了基础的不可变数据结构元组tuple,对元组元素的访问需通过索引来完成,对此需要熟记每个下标对应的具体含义。如果元素数量一多,要记清楚这些东西就会比较麻烦了,于是就出现了命名元组namedtuple
。
- 创建命名元组
可通过collections.namedtuple创建的命名元组(类)
以下语句创建了一个叫做Point的命名元组类,它拥有两个属性x,y。
collections.namedtuple("Point",["x","y"])
#----或以下写法也是可以的---
collections.namedtuple("Point","x y")
collections.namedtuple("Point","x,y")
将命名元组赋给一个变量
MyPoint = collections.namedtuple("Point","x,y")
新建的元组变量,它只是一个类,如果要创建它的实例,则需要像创建类实例一样调用它:
MyPoint = collections.namedtuple("Point", "x,y")
p1 = MyPoint(x=1, y=2)
# x元素,下标0, y元素,下标1
print(p1.x,p1.y)
print(p1[0],p1[1])
- 修改元素 修改元组的元素不能简单的使用p1.x = 1,需要调用成员函数 _re