Python学习(九):元组的魔法
这是我关于Python学习的第九篇博客,加油!
索引、切片、循环, 元组的一级元素不可被修改、增加或删除
元组(tu),对应的类为tuple
元组的一级元素不可被修改,不能被增加或删除,想要修改元组的话,可以先将其转化为列表,修改后将列表转化为元组
元组用括号表示,在运用时,建议后面加一个逗号,以便和括号区分开
tu=(111,‘alex’,(2,34),[(56,78)],True,30,56)
- 可通过索引或切片取值
tu=(111,'alex',(2,34),[(56,78)],True,30,56)
v=tu[0]#111
v1=tu[0:3]#(111, 'alex', (2, 34))
print(v,v1)
是可迭代对象,可以进行for循环,可以使用extend,可以与列表,字符串之间进行相互转换。列表,字符串转化为元组时加tuple即可
- 元组转字符串时
(1)当元组内既有数字又有字符串时,使用for循环
tu=(123,456,'a','b','cdupok')
s=''
for i in tu:
s=s+str(i)
print(s)#123456abcdupok
(2)当元组内部只有字符串时,用join
tu=('bus','cb','q')
s=''.join(tu)
print(s)#buscbq
- 使用extend函数
注意,此处的使用只是将元组添加到别的类中,元组不可以使用extend函数扩充
li=[1,2,3,['ni','bi',1]]
li.extend((5,6,7,))
print(li)#[1, 2, 3, ['ni', 'bi', 1], 5, 6, 7]
- 元组是有序的
tu=(111,'alex',(2,34),[(56,78)],True,30,56)
v=tu[0]
v1=tu[3][0][0]
print(v,v1)#111 56
- 元组的一级元素不可被修改,增加或删除,但当其中嵌套列表或其他值时就可以被修改了
tu=(111,'alex',(2,34),[(56,78)],True,30,56)
tu[0]=222
print(tu)#报错
tu[2][0]=222
print(tu)#报错
tu[3][0]=222#此时修改的是元组内嵌套的列表,列表可以被修改
print(tu)#(111, 'alex', (2, 34), [222], True, 30, 56)
- count:获取某个值在元组中出现的次数
- index:获取某个值在元组中的顺序
tu=(111,56,'alex',(2,34),[(56,78)],True,30,56)
v=tu.count(56)
v1=tu.index(56)
print(v,v1)#2 1