元组
元组和列表相似,但是元组中的元素不能修改仅供查看。元组使用小括号:();列表使用方括号[]。tuple :表示元组; list :表示列表
元组的定义
- 元组名=() --->定义空元组
- 元组名=(’元素‘,)--->单个元素的元组需要在元素后加个逗号
- 元组名=(‘元素’,’元素‘) --->多个元素的元组的定义
注意:只有一个元素的元组的定义和多个元组定义的不同
# 例:定义元组
# 空元组
a = ()
print(type(a)) # 结果:---><class 'tuple'>
print(a) # 结果:--->()
# 单个元素的元组
b = ('aa',) # 结果:--->('aa',),单个元素必须在元素后面加逗号
c = ('a', 'b', '1', '2') # 结果:--->('a', 'b', '1', '2')
print(b)
print(c)
下标与切片
元组中的元素也对应了下标,可以通过下标来查找对应位置的元素,也可以通过下标切片:tuple[1:3:-1]。
# 例:下标与切片
a = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
print(a[0]) # 结果:--->1
print(a[1:4]) # 结果:--->(2, 3, 4)
print(a[::-1]) # 结果:--->(0, 9, 8, 7, 6, 5, 4, 3, 2, 1)
可用操作
-
index:找到对应位置的下标
格式:a=tuple.index(元素,起始位置,结束位置),index都可以这么用
-
count:计数,统计元组中的元素个数
-
len:求长度
-
in, not in
-
for i in tuple:
-
while
# 例:操作
# index
n = a.index(3)
print(n) # 结果:--->2
# count
n = a.count(3)
print(n) # 结果:--->1
# len
n = len(a)
print(n) # 结果:--->10
# in
if 1 in a:
print(True) # 结果:--->True
# for
for i in a:
print(i) # 结果:--->1,2,3,4,5,6,7,8,9,0
修改元组的方法
用类型转换,将元组强制转换成列表,通过修改列表来增删改,改完在把列表转换成元组。
- list(tuple) ---> 元组转列表
- tuple(list) ---> 列表转元组
# 例:修改元组
b = list(a)
b.append('a')
a = tuple(b)
print(a) # 结果:--->(1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 'a')
拆包与装包
概念理解:将元组拆解成一个一个的元素,这些元素可以单独装包给一些变量,这是可以一个元素装一个变量,也可以多个元素装一个变量。拆包这个不仅可以在元组上使用,列表、字典都可以。
-
拆包格式:变量a,变量b....=元组1/列表1/字典1
拆包注意事项:变量设置的个数要与元组/列表/字典中的元素个数要对应,,过多过少都不好。
-
数据类型的改变
通过拆包分出来的元素,他们的数据类型都会改变。在拆包、装包时用通配符会将元素都会变成列表类型。在输出时使用通配符也会将其原有数据类型的特征去掉。
# 例:元组拆包与装包
a = ('1', '2', '3', '4', '5', '6', '7')
b, c, d, *e = a
print(b, c, d) # 结果:--->1 2 3
print(type(b)) # 结果:---><class 'str'>
print(e) # 结果:--->['4', '5', '6', '7']
print(type(e)) # 结果:---><class 'list'>
print(*a) # 结果:--->1 2 3 4 5 6 7
# 例:字典拆包与装包
a = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
q, w, *e = a
print(q) # 结果:--->a
print(type(q)) # 结果:---><class 'str'>
print(e) # 结果:--->['c', 'd', 'e']
print(*e) # 结果:--->c d e
print(type(e)) # 结果:---><class 'list'>
print(*a) # 结果:--->a b c d e
# 例:列表拆包与装包
a = [1, 2, 3, 4, 5, 6, 7, 8]
g, h, j, *f = a
print(g) # 结果:--->1
print(type(g)) # 结果:---><class 'int'>
print(f) # 结果:--->[4, 5, 6, 7, 8]
print(type(f)) # 结果:---><class 'list'>
print(*a) # 结果:--->1 2 3 4 5 6 7 8
注意输出方式与输出结果,理解通配符的作用以及拆包与装包操作。