tuple(元组)
元组同列表一样,都是可以封闭多个、不同类型的元素在内
但最大的不同点在于:
- 元组一旦定义完成,就不可修改 (可以修改元组内部list列表的内部元素)
适合用于当程序内需要封闭数据,又不希望数据被篡改
元组定义:定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型
字面量: [元素1, 元素2, 元素3, ...]
定义变量: 变量名称 = [元素1, 元素2, 元素3, ...]
定义空元组:
- 变量名称 = ()
- 变量名称 = tuple()
# 定义元组
(1, "Hello", True)
my_tuple = (1, "Hello", True)
my_tuple2 = tuple()
my_tuple2 = my_tuple
print(my_tuple2)
# 定义单个元素的元组 单个元素注意必须带有逗号,否则不是元组类型
my_tuple3 = ("hello")
print(type(my_tuple3)) # 字符串类型
my_tuple3 = ("heelo", )
print(type(my_tuple3)) # 元组类型
# 元组的嵌套
my_tuple4 = (1, "Hello", True, (4, 5, 6))
print(my_tuple4)
# 读取元组数据 取出
print(my_tuple4[-1][-1])
print(my_tuple4[1])
(1, 'Hello', True)
(1, 'Hello', True, (4, 5, 6))
6
Hello
tuple(元组)的相关操作
- index() 查找某个数据,如果数据存在返回对应的下标,否则报错
- count() 统计某个数据在当前元组出现的次数
- len() 统计元组内的元素个数
my_tuple = (1, "Hello", True, (4, 5, 6), (4, 5, 6))
my_tuple.index("Hello")
my_tuple.count((4, 5, 6))
len(my_tuple)
5
# 元组的while循环遍历
def tuple_while_func():
"""
使用while循环遍历元组的演示函数
:return: None
循环控制的变量通过下标索引来控制,默认0
每一次循环将下标索变量+1
循环条件:下标索引变量 < 元组的元素数量
"""
my_tuple = (1, "Hello", True, (4, 5, 6), (4, 5, 6))
index = 0
while index < len(my_tuple):
print(my_tuple[index])
index += 1
tuple_while_func()
1
Hello
True
(4, 5, 6)
(4, 5, 6)
# 元组的for循环遍历
def tuple_for_func():
my_tuple = (1, "Hello", True, (4, 5, 6), (4, 5, 6))
for i in my_tuple:
print(i)
tuple_for_func()
1
Hello
True
(4, 5, 6)
(4, 5, 6)
# 尝试修改元组的内容
my_tuple = (1, "Hello", True, (4, 5, 6), [4, 5, 6])
# my_tuple[1] = "World" # TypeError: 'tuple' object does not support item assignment
#my_tuple[3][1] = 8 # TypeError: 'tuple' object does not support item assignment
my_tuple[4][0] = 8 # 元组里面列表元素可以更改
print(my_tuple)
my_tuple[4].pop(0)
my_tuple[4].append(20)
print(my_tuple)
(1, 'Hello', True, (4, 5, 6), [8, 5, 6])
(1, 'Hello', True, (4, 5, 6), [5, 6, 20])