元组相当于一个不可修改的列表,除了不能存之外,取的操作同列表一样。
用途
按照索引存放多个任意类型的值,索引反应的是位置/顺序
定义方式
在()内用逗号分隔开多个任意类下的值或者元素
强调:当元组内只有一个元素时,必须加逗号
# 错误方式
t=(10)
print(type(t))
----------------
<class 'int'>
# 正确方式
t=(10,)
print(type(t))
--------------------------
<class 'tuple'>
# 定义元组不一定需要(),所以我们函数的返回值如果有多个值,会以元组的形式返回
t = 1,
t1 = 1,2,[3,4]
print(isinstance(t,tuple))
print(isinstance(t1,tuple))
------------------------------
True
True
常用操作+内置的方法
按索引取值(正向取+反向取):只能取
t=(10,1.1,"aaa",[11,22])
print(t[0])
print(t[-1])
----------------------
10
[11,22]
切片(顾头不顾尾,步长)
t=(11,22,33,44,55)
print(t[0:3]) # 取0,1,2三个索引的值
---------------------
11,22,33
长度len
t=(11,22,33,44,55)
print(len(t))
成员运算in和not in
t=(11,22,33,44,55)
print(11 in t)
循环for
for x in t:
print(x)
元组的拷贝
对于元组来说,它的浅拷贝是直接再引用本身
tuple1 = (1, 2, 3)
tuple2 = tuple(tuple1)
print(tuple2)
print("tuple1 == tuple2 ?",tuple1 == tuple2)
print("tuple1 is tuple2 ?",tuple1 is tuple2)
# 此程序中,元组 (1, 2, 3) 只被创建一次,t1 和 t2 同时指向这个元组。
4、元组类型总结:
1.存多个值
2.有序
3.不可变类型