python进阶,在第一期的基础上做了极大的优化,整体更加美观易懂
八、元组
一个元组里面可以存储多个数据,且元组内的数据不能进行修改,与列表不同,列表可修改
格式;
(数据1, 数据2, 数据3,......)
yz = (1, 2, 3, 45, 657)
print(type(yz)) # 结果: <class 'tuple'>
注意,如果定义的元组只有一个数据,那么这个数据后面也要添加逗号,否则数据类型为唯一的这个数据的数据类型
yz10 = (123,)
yz11 = ("wan")
yz12 = (123)
print(type(yz10))
print(type(yz11))
print(type(yz12))
# 结果:
>>> <class 'tuple'>
>>> <class 'str'>
>>> <class 'int'>
8.1、查找
8.1.1、下标查找数据
元组查找,不支持修改
a.元组名[下标]:按下标查找
yz2 = ("a", "b", "c", "a")
print(yz2[2])
# 结果:
# c
8.1.2、函数查找
a、index():元组名.index(数据),存在就返回下标,否则报错
yz2 = ("a", "b", "c", "a")
print(yz2.index("b")) # 下标从0开始
# 结果:
>>> 1
b、count():元组名.count(数据),返回指定数据在元组中的次数
yz2 = ("a", "b", "c", "a")
print(yz2.count("a"))
# 结果:
>>> 2
c、len():len(元组名),返回序列的长度,元组也可以使用
yz2 = ("a", "b", "c", "a")
print(len(yz2))
# 结果:
>>> 4
8.2、 修改
a、元组内的数据如果修改则立即报错,但是如果元组里面有列表,修改列表里面的数据是支持的
yz3 = ("a", "b", "c", "d")
yz3[3] = 3
print(yz3)
# 报错
>>> TypeError: 'tuple' object does not support item assignment # 名称错误:'tuple'对象不支持项赋值
b. 元组中包含列表元素,列表元素内容可以修改
yz4 = ("1", "2", "3", ["1", "2"])
yz4[3][1] = 3
print(yz4)
# 结果:
>>> ('1', '2', '3', ['1', 3])
8.3、删除
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
yz5 = ("a", "c", "d", "h")
del yz5[1]
print(yz5)
# 报错:
报错内容:TypeError: 'tuple' object doesn't support item deletion
yz5 = ("a", "c", "d", "h")
del yz5
print(yz5) # 无法打印,以为已经删除了
# 报错
报错内容:NameError: name 'yz5' is not defined # 译文:名称错误:名称'yz5'没有定义