通常,对一个列表或者元组的访问时通过下标或索引完成的,有时候我们会希望通过名称来访问某一位置的元素,减少对索引的依赖。当然我们可以选择字典结构,但字典往往需要更多的存储空间,这个时候我们可以选用命名元组(Namedtuple)。
命名元组的使用如下:
Subscriber=namedtuple('Subscriber',['name','age','addr','tel'])
sub=Subscriber('hilary',19,'chengdu','18812344321')
print(sub) # Subscriber(name='hilary', age=19, addr='chengdu', tel='18812344321')
print(sub.name) # hilary
print(len(sub)) # 4
当数据量比较大时,命名元组是比字典更好的选择,前者消耗的空间更小,因此使用命名元组会更加高效。但是,与字典相比,命名元组的值不可变。