元组的创建
Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
使用 ( ) 直接创建
# 多个数据元组
t1 = (10, 20, 30)
# 单个数据元组
t2 = (10,)
使用tuple()函数创建元组
tup1 = tuple("hello")
print(tup1)
tup = (1,2,3,4,5,6,7,8,9) # print(tup[2]) # tup[2] = '3' # print(tup)
元组的常⻅操作
元组数据不支持修改,只支持查找
tuplel=('aa','bb','cc','bb') print(tuplel[0]) #aa 在编程语言中,tuple是一种有序且不可变的数据结构,用来存储多个元素。它通常由括号和逗号组成,括号可以省略。例如在Python中,可以通过在括号内用逗号隔开不同的元素来创建一个tuple,例如 “(1, 2, 3)” 或者 “4, 5, 6”。与列表不同的是,tuple中的元素不能被修改,也不能添加或删除元素。因此,tuple对于需要保证数据安全性及不变性的场景非常有用。
index()
查找某个数据,如果数据存在返回对应的下标,否则报错,语法和列表、字符串的index⽅法相同。tuple1 = ('aa', 'bb', 'cc', 'bb') ,print(tuple1.index('aa'))
count():
统计某个数据在当前元组出现的次数。tuple1 = ('aa', 'bb', 'cc', 'bb') ,print(tuple1.count('bb'))
len():
统计元组中数据的个数。tuple1 = ('aa', 'bb', 'cc', 'bb') ,print(len(tuple1))
元组内的直接数据如果修改则⽴即报错 但是如果元组⾥⾯有列表,修改列表⾥⾯的数据则是⽀持的。
tuple2 = (10, 20, ['aa', 'bb', 'cc'], 50, 30)
print(tuple2[2]) # 访问到列表
# ['aa', 'bb', 'cc']
tuple2[2][0] = 'aaaaa'
print(tuple2)
# (10, 20, ['aaaaa', 'bb', 'cc'], 50, 30)
del 同样支持 当创建的元组不再使用时,可以通过 del 关键字将其删除
tup = ("python","yyds")
print(tup)
del tup
print(tup)
列表与元组的区别
-
列表是动态数组,它们可变且可以重设长度(改变其内部元素的个数)。
-
元组是静态数组,它们不可变,且其内部数据一旦创建便无法改变。
-
元组缓存于Python运行时环境,这意味着我们每次使用元组时无须访问内核去分配内存。
-
可变与不可变性
-
列表:可变
-
元组:不可变
-
可变数据类型 :当该数据类型的对应变量的值发生了改变,那么它对应的内存地址不发生改变,对于这种数据类型,就称可变数据类型。
不可变数据类型: 当该数据类型的对应变量的值发生了改变,那么它对应的内存地址也会发生改变,对于这种数据类型,就称不可变数据类型
"""数值"""
a = 1
print(a, id(a))
a = a + 1
print(a, id(a))
"""字符串"""
b = '1'
print(b, id(b))
b = b.upper()
print(b, id(b))
"""列表"""
li = [1, 2, 3, 4, 5]
print(li, id(li))
li.append(6)
print(li, id(li))
"""元组"""
tup = (1, 2, 3, [4, 5])
print(tup, id(tup))
tup[-1].append(6)
print(tup, id(tup))