1.元祖定义:
tuple()
tuple(iterable)
t = tuple() # 工厂方法
t = ()
t = tuple(range(1,7,2)) #iteratable
t = (2,4,6,3,4,2)
t = (1,) #一个元素元祖的定义必须加逗号
t = (1,)*5
t = (1,2,3)*6
2.元祖元素的访问:
(1)支持索引
(2)正负索引
通过索引访问:tuple[index]
3.元祖查询
index(value,[start,[stop]])
通过value,从指定区间查找列表内的原始是否匹配
匹配第一个就立即返回索引
匹配不到,抛出ValueError异常
count(value)
返回value个数
index和count都是O(n),数据规模大时,效率下降
len(tuple)
返回元素个数
4.元祖是只读的,无增、改、删方法
5.命名元祖 namedtuple
namedtuple(typename,field_names,verbose=False,rename=False)
命名元祖,返回一个元祖的子类,并定义了字段
field_names可以是空格或逗号分割的字段的字符侧,可以是字段的lib
from collections import namedtuple
Point = namedtuple('P','x,y') #Point为返回的类
p1 = Point (11,22)
print(p1) # P(x=11,y=22)
print(p1.x) # 11
#定义一个学生类
Student = namedtuple('Student','name age')
zhangsan = Student('张三',20)
lisi = Student('李四',18)
zhangsan .name #读取name字段