目录
元组是Python序列的一种形式,与列表相似,但是区别在于元组内的元素是不可修改的。
创建元组
元组使用小括号,中间用英文逗号分隔。且与列表相同,元组内也可以是不同类型的元素:
tuple1 = (1, 2, 3)
tuple2 = (1, 2, 'Audi', [1, 2, 3], 'Benz')
tuple3 = () #创建一个空元组
tuple4 = (1, ) #创建一个只有一个元素的元组
tuple5 = 1, 2, 3, 4 #创建元组括号可省略
注意,在创建一个只有一个元素的元组时,必须在第一个值后面加上逗号。创建元组时也可省略括号。
使用tuple()函数可以将列表数据转换为元组:
List1 = [1, 'Game', [3, 4, 5], True]#创建列表数据
print(tuple(List1)) #输出结果为(1, 'Game', [3, 4, 5], True)
元组的访问
元组内的元素可以通过索引和切片来访问:
tuple1 = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
print(tuple1[5]) #输出为5
print(tuple1[1:3]) #输出为(1, 2)
print(tuple1[:5]) #输出为(0, 1, 2, 3, 4)
注意,使用单个编号索引是从0开始的,即索引0代表元组的第一个元素。
删除元组
元组内的元素是不允许被删除的,但是可以删除整个元组:
tuple1 = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
del tuple1 #删除元组
print(tuple1) #输出会发生错误
#NameError: name 'tuple1' is not defined.
删除整个元组之后再调用该元组会发生错误。
元组的运算
拼接
元组内的元素虽然不可以更改,但是可以将元组进行连接和组合:
x = [1, 2, 3]
y = ['a', 'b', 'c']
z = x + y #进行相加运算
print(z) #输出为[1, 2, 3, 'a', 'b', 'c']
复制
运算符号*在这里表示复制的数量,而不是表示乘法运算。
a = 3*('CSDN', )
print(a) #输出为('CSDN', 'CSDN', 'CSDN')
b = 4*(5 + 10,)
print(b) #输出为(15, 15, 15, 15)
元组b运算的含义:
括号内表示对单个元组(10,)进行+5操作(这里元组省略掉了括号)此时元组内的元素值为15,然后将元组内元素数量复制4倍。
检验元素是否存在
x = [1, 2, 3, 4]
print(1 in x) #输出为True,表示元素1在元组x内
元组的其他函数和方法
最大和最小值
max()和min() 函数用来寻找元组内元素的最大值和最小值:
tuple1 = (0, 1, 2, 1, 4, 1, 6, 7, 2, 9)
print(max(tuple1)) #寻找最大值,输出为9
print(min(tuple1)) #寻找最小值,输出为0
长度
len()函数可以查看当前元组的长度:
tuple1 = (0, 1, 2, 1, 4, 1, 6, 7, 2, 9)
print(len(tuple1)) #输出为10
查找索引
.index方法查找指定元素第一次出现时的索引 :
tuple1 = (0, 1, 2, 1, 4, 1, 6, 7, 2, 9)
print(tuple1.index(2)) #查找元素2第一次出现时的索引,输出为2
计数
.count方法计算指定元素在列表中出现了多少次:
tuple1 = (0, 1, 2, 1, 4, 1, 6, 7, 2, 9)
print(tuple1.count(1)) #统计元素1出现的次数。输出为3
排序
由于元组内元素是不可修改的,所以准确来说是不能对元组内元素进行排序的,但可以生成一个元组内元素排序之后的列表,这里就需要用到sorted()函数:
tuple1 = (0, 1, 2, 1, 4, 1, 6, 7, 2, 9)
List1 = sorted(tuple1) #将元组内元素排序后存储在列表里
print(List1) #输出为[0, 1, 1, 1, 2, 2, 4, 6, 7, 9]
以上对于元组的函数和方法,在列表中也是同样可以使用的。