元组 tuple
元组是不可改变的序列,同list(列表)一样,元组是可以存入任意类型数据的容器
元组的表示方式
用小括号()括起来,单个元素括起来后加逗号(,)区分单个对象还是元组
创建空元组的字面值
t = ()
创建非空元组的字面值
t = 200, # 不等同于 t = 200 t =(20,) t = (1,2,3) t = 100,200,300 # 注: type(x) # 函数用来返回x的类型
元组创建的错误示例
t = (20) # t 绑定20这个整数,不是绑定元组 x,y,z = 100,200,300, # 序列赋值,不是元组 x,y,z = (100,200,300) x,y,z = (100,200,300) x,y,z = "ABC" # 序列赋值,不是元组
元组的构造函数(创建)函数 tuple
tuple() # 生成一个空的元组,等用于() tuple(iterable) # 用可迭代对象生成一个元组 # 示例: t = tuple() 创建空元组,等同于 t = () t = tuple(range(1,10,3)) #创建非空元组
元组的运算:
运算符
# 运算符 + += * *= # + 加号同于拼接 t = (1,2,3)+(4,5,6) # t = (1,2,3,4,5,6) # += 拼接后再复制 x = (1,2,3) y = (4,5,6) x+=y #等同于 x = x + y # 注:
# 因为元组不可变,加后的ID会发生变化 # * 生成重复的元组 # *= 生成重复的元组再重新赋值绑定 x = (1,2)*3 print("x=",x) x = (1,2,3) x *= 2 # x = (1,2,3,1,2,3)
元组的比较运算
# 运算符: < <= > >= == != # 说明: # 元组比较规则和列表比较规则完全相同
# in / not in 运算符: x = (1,"tow",3)2 in x #False 3 in x #True 5 in x #False 5 not in x # True
元组的切片和索引
# 索引 index # 用法等同于列表的索引 可以查询元组中的元素 # 元组不能索引赋值 # 切片 slice # 用法等同于列表的切片,元组的切片返回一个新的元组 可以切到某个元素查看 # 元组不能切片赋值
元组的方法
# 方法 # 说明 T.index(v [, begin[, end]]) # 返回对应元素的索引下标, begin为开始索引,end为结束索引,当 value 不存在时触发ValueError错误 T.count(x) # 返回元组中对应元素的个数
序列相关的函数总结
# 以下函数可以用于序列: 字符串 列表 元组 len(x),max(x),min(x),sum(x),any(x),all(x)
构造函数:
str(x)(字符串) list(x)(列表) tuple(x)(元组) reversed(x),sorted(x,reverse=False)
# 方法1 t =() for x in tuple(range(1,10)): t += (x**2,) print(t) # 方法2 l = [x**2 for x in range(1,10)] t = tuple(l) print(t) # 方法3 t = tuple(x**2 for x in range(1,10)) print(t)