数据容器 – 元组
特点:
1、元组不可修改(不能增加/删除/修改等)
2、可以容纳多个数据
3、可以容纳不同类型的数据(字符串,整型,浮点型,元组,列表)
4、数据是有序存储的(通过下标索引)
5、允许重复的数据存在
6、支持for循环
与list的区别:不可修改,其他基本一致
# 定义元组方式
定义元组:() -- 小括号
定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型
# 定义元组字面量
(元素1,元素2,……,元素N)
# 定义元组变量
变量名 = (元素1,元素2,……,元素N)
# 定义空元组
变量名 = () # 方式一
变量名 = tuple() # 方式二
混合类型的元组,支持不同的类型
t1 = (1, 2.2, 1, 1, True, "字符串", ("嵌套元组", 3.3, True), [1, 2, 3])
print(f"定义的内容为:{t1},定义的内容类型为{type(t1)}")
定义单个元素的元组:需要在元素后加【逗号】,不加逗号,就会默认认为类型是【Str】,加了逗号就会认为是【tuple】
one_element_tuple = ("这个元组只定义了一个元素",)
print(f"只定义一个元素的元组:{one_element_tuple},类型:{type(one_element_tuple)}")
index(元素) – 查元素所在元组中的下标
print("定义的元组中的元素为:", t1)
index_element = t1.index(2.2)
print(f"元素【2.2】在元组中的下标为:{index_element}")
count(元素) – 查元素所在元组中有几个
count_element = t1.count(1)
print(f"元素【1】在元组中的数量为:{count_element}")
len(元组) – 查元组中的元素一共有几个
len_element = len(t1)
print(f"元素【1】在元组中的数量为:{len_element}")
while循环遍历元组
print("while 循环遍历元组中的元素:")
index_element = 0
while index_element < len(t1):
tuple_element = t1[index_element]
print(f"下标[{index_element}]对应的元素为:{tuple_element}")
index_element += 1
for循环遍历元组
print("for 循环遍历元组中的元素:")
for tuple_element in t1:
print(f"元组中的元素为:{tuple_element}")
元组元素不可修改,但是元素为list时,可以修改
tuple2 = (1, "tuple_test",[2,3])
print("定义的元组元素为:",tuple2)
修改元组元素
tuple2[0] = 22
print(tuple2) # 会报错 TypeError: 'tuple' object does not support item assignment
修改元组中的list中的元素
tuple2[-1][0] = "我是元组中的list中的第一个元素修改后的内容"
print("修改元组中的list元素后的元组元素为:",tuple2)
作业
定义一个元组,包含字符串,数字,list
1、查询数字所在的下标;
2、查询字符串内容打印出来;
3、删除list中的第一个元素;
4、在list中增加一个元素;
# 定义一个元组,包含字符串,数字,list
test_tuple = ("我是一个字符串", 22.2, ["list中的元素1", "list中的元素2"])
# 1、查询数字所在的下标;
num_index = test_tuple.index(22.2)
print("数字元素所在的下标为:", num_index)
# 2、查询字符串内容打印出来;
str_element = test_tuple[0]
print(f"元组中的字符串元素为:{str_element}")
# 3、删除list中的第一个元素;
del test_tuple[-1][0]
print("删除list中的第一个元素后的元组内容为:",test_tuple)
# 4、在list中增加一个元素;
test_tuple[-1].append("我是append追加在元组中的list中的一个元素")
print(test_tuple)
test_tuple[-1].insert(1,"我是insert插入在在元组中的list的下标1位置的一个元素")
print(test_tuple)