元组的创建:
元组与列表相似,但是元素的元素不可修改。
元组使用的是小括号,列表使用的是中括号。
1、使用()直接创建:
tup_1 = () # 创建空元组 () <class 'tuple'>
2、单个数据元组
tup_2 = (1,) # 元组中要有2个及2个以上的元素 (1,) <class 'tuple'>
3、多个数据元组
tup_3 = (1, 2, 4) # (1, 2, 4) <class 'tuple'>
print(tup_1, type(tup_1), tup_2, type(tup_2), tup_3, type(tup_3))
4、 使用tuple()函数创建元组
tup_4 = tuple('hello')
print(tup_4)
注意:如果定义的元组只有一个数据,那么,这个数据后面需要添加逗号,否则:数据类型为唯一的这个数据的数据类型
tup_5 = (1) # 1 <class 'int'>
print(tup_5, type(tup_5))
元组的常见操作:
元组数据不支持修改、仅支持查找。
查找:
1. 根据下标查找:
tup_5 = (1, 454, 56, 78, 90)
print(tup_5[3]) # 78
2. index():查找某个数据,若数据存在则返回对应的下标;否则报错:
tup_5 = (1, 454, 56, 78, 90)
print(tup_5.index(1)) # 0
count():统计某个数据在当前元组出现的次数。
tup_5 = (1, 454, 56, 78, 90)
print(tup_5.count(56)) # 1
len():统计元组中数据的个数。
tup_5 = (1, 454, 56, 78, 90)
print(len(tup_5)) # 5
元组中直接修改数据,会报错;
但是,如果元组中存在列表,修改列表中的数据是支持的。
例如:
"""元组中的值不可直接更改,但是元组中列表的值,可以修改"""
tup_6 = (2, 34, 5, ["aa", "bb", "cc"], 324, 43)
print(tup_6[3]) # 访问元组中的列表
tup_6[3][2] = 'dddddd'
print(tup_6) # (2, 34, 5, ['aa', 'bb', 'dddddd'], 324, 43)
del:彻底删除
当创建的元组不再使用时,可以通过del关键字将其删除。
tup = ("python", "yyds")
print(tup)
del tup
print(tup) # 报错
列表与元组的区别:
列表:动态数组,可变且可以重设长度(改变内部元素的个数);
元组:静态数组,不可变,且内部数据一旦创建便无法改变。
可变类型 与 不可变类型:
可变数据类型:
当该数据类型对应变量的值发生了改变,对应的内存地址不发生改变;
例如:列表、集合、字典
不可变数据类型:
当该数据类型对应变量的值发生了改变,对应的内存地址也会发生改变;
例如:数值、字符串、元组