元组
有序不可变的元素序列
与列表的区别在于元素不可变
# 元组的定义方式
# 与列表的定义区别:用小括号
tuple1 = (1, 2, 3, 'a')
# 单个元素的元组一定要加逗号!!!
tuple0_1 = (1)
tuple0_2 = (1,)
print(type(tuple0_1), type(tuple0_2))
# 多个对象用“,”隔开时,没有中括号或者小括号,默认为元组
tuple2 = 1, 3, 4, 6, 'afd'
print(tuple2)
# 元组中的元素可以是元组
tuple3 = (1, 4, ('a', 'b', 1))
print(tuple3, type(tuple3))
# 从列表转换成元组
list1 = ['d', 'a', 1, 2]
changeTuple = tuple(list1)
print(changeTuple, type(changeTuple))
常用操作
元组操作不支持增加、删除和修改,即元素不可变。
但是元组可以进行查询操作。
# 元组不支持增、删、改操作,但是可以进行查询
# 查询操作同列表(用中括号)
tuple1 = (1, 2, 3, 4, 'a', 'b', 'c')
print(tuple1[2])
print(tuple1[-1])
# 元组同样可以进行切片tuple[start:end:step]
print(tuple1[2:7:2])
print(tuple1[6::-1])
额外操作
"""
元组的额外操作
获取/判断/比较/拼接
"""
tuple1 = (1, 2, 2, 2, 3, 5)
# tuple.count(iterm)统计元组中某一元素的个数
print(tuple1.count(1))
# tuple.index(iterm)查询某一元素的索引
print(tuple1.index(5))
# len(tuple)返回元组长度
print(len(tuple1))
# max(tuple)返回元组中的最大值;min(tuple)返回元组中的最小值
print('max = %g; min = %g' % (max(tuple1), min(tuple1)))
# 判断in/not in
print(1 in tuple1)
"""
比较
==
>
<
针对每一个元素从左往右比较
"""
result = (4, 4, 1) > (4, 4, 5)
# 比较第一个4=4,比较第二个4=4,比较第三个1>5,返回False
print(result)
# 乘法:重复
tuple1 = (1, 2, 3)
print(tuple1 * 2)
# 加法:拼接
tuple1 = (1, 'a')
tuple2 = (2, 'b')
print(tuple1 + tuple2)