'''
1.任务: 测试Python元组
'''
# python 元组与列表类似,不同之处在于元组的元素不能更改
# 元组使用小括号, 列表使用方括号
# 元组的创建很简单,只需要在括号中添加元素,并使用逗号隔开即可
# 示例:
def createTup():
yuanzuA = ('张三','李四','王五','马六')
print(yuanzuA)
# 创建一个空元组
yuanZuNull =()
# 元组中只包含一个元素时,需要在元素后面添加逗号,
def createTupOne():
yuanZuOne = ("天上",)
print(yuanZuOne)
# 访问元组---> 元组的访问 与字符串类似,下标索引从 0开始,可以进行截取,组合等;
def createNumTup():
tupA = (1,2,3,4,5,6,7)
print(tupA[0])
print("访问元组 tupA 中的最后两个数据:",tupA[5:7])
print(tupA[0:1])
print(tupA[0:2])
print(tupA[0:3])
print(tupA[0:4])
print(tupA[0:5])
print(tupA[0:6])
print(tupA[0:7]) # 备注: 访问元组的时候 , tupA[0:3] --> 从索引0 开始,到索引 3-1 结束
print(tupA[6])
# 修改元组 --> 元组中的数据是不允许被修改的, 但我们可以对元组进行连接组合
# tupA[0] = 100
def testJoinTup():
tup1 = (1,2,3)
tup2 = (4,5,6)
tup3 = tup1+tup2
print("元组tup1:",tup1)
print("元组tup2:",tup2)
print("元组tup3:",tup3)
numA = tup1[2]+tup3[5]
print(numA)
# 删除元组 : 元组中的 元素值是不允许被删除的,但是我们可以使用del 语句来删除整个元组
def testDeleteTup():
tupR=(12,34)
print(tupR)
del tupR # 删除元组
print(tupR) # NameError: name 'tupR' is not defined 删除元组之后就不能再使用元组啦.
# 元组运算符
"""
与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
"""
# 计算元组的个数
tupA = (123,465,"战三")
print(tupA)
# print(tupA[0]+tupA[2]) 元组中 使用 + 号运算符,只能进行同类型数据的运算,否则会出错
# TypeError: unsupported operand type(s) for +: 'int' and 'str'
print("元组tupA元素总共:",len(tupA))
# 元组的复制
tupB = tupA * 4
print(tupB)
# 对元组进行迭代访问
for i in tupB:
print(i)
if(123 in tupB): # 123 in tupB 判断元组 tupB中是否存在 123 这个数据,如果存在,打印我是你爸爸
print("我是你爸爸")
# 元组的索引,截取
tupC = (123,456,567,43)
print(tupC[3]) # IndexError: tuple index out of range 不能超出索引读取数据
print(tupC[2:])
# 反向读取元组中的数据
print(tupC[-4])
# 无关闭分隔符 任意无符号的对象,以逗号隔开,默认为元组,如下实例:
tupF = 123,54,453,"串串香"
print(tupF)
# 元组中的内置函数
# min(tuple) max(tuple) tuple(seq)
# 返回元组中元素最大值。 返回元组中元素最小值。将列表转换为元组。
# len(tuple) cmp(tuple1, tuple2)
# 计算元组元素个数。 比较两个元组元素。
tupH = (56,23,231,45,-456,1234)
# 寻找元组中 最大的数据
print(max(tupH));print(min(tupH));print(len(tupH))