元祖
tu = (111,'alex',(11,['aa','xhg',(78,43)],'aaa'),789,)
通过这个例子,我们看到元祖的特征:
- 是通过括号()括起来的
- 一般写元祖的时候,推荐子最后加入逗号 ,
- 元祖是有序的
- 元祖的一级元素不可被修改、不能被增加或者删除(后面通过程序来理解)
元祖的功能
1.索引取值
索引取元祖的一级元素
tu = (111,'alex',(11,['aa','xhg',(78,43)],'aaa'),789,)
#取元祖 tu 中的第三个元素
v = tu[2]
print(v) #程序执行结果
(11, ['aa', 'xhg', (78, 43)], 'aaa')
索引取元祖的二、三级元素
tu = (111,'alex',(11,['aa','xhg',(78,43)],'aaa'),789,)
#取元祖 tu 中的 78
v = tu[2][1][2][0]
print(v) #程序执行结果
78
2.切片取值
tu = (111,'alex',(11,['aa','xhg',(78,43)],'aaa'),789,)
v = tu[0:2]
print(v)
3.for循环
可以执行for循环的对象是可迭代的对象
tu = (111,'alex',(11,['aa','xhg',(78,43)],'aaa'),789,)
for item in tu:
print(item) #执行结果:
111
alex
(11, ['aa', 'xhg', (78, 43)], 'aaa')
789
4.字符串、列表以及元祖三者之间的转换
(字符串和列表之间的转换在上一篇有总结哦)
字符串==>元祖
s = 'dsjkfsadfjksdfh'
v = tuple(s)
print(v)
列表==>元祖
li = [111,'alex',789,[11,123,'xhg'],True]
v = tuple(li)
print(v)
列表<==元祖
tu = (111,'alex',(11,['aa','xhg',(78,43)],'aaa'),789,)
li = list(tu)
print(li)
字符串<==元祖
如果元祖里元素类型既有数字,又有字符串(需要自己写for循环来一个一个处理)
tu = (111,'alex',(11,['aa','xhg',(78,43)],'aaa'),789,)
s = ''
for item in tu:
s = s + str(item)
print(s)
如果元祖里元素类型只有字符串,使用join即可
tu = ('adf','qwe','xhg')
s = ''.join(tu)
print(s)
5.修改
元祖一级元素不可以删除、修改、增加
所以,这里的修改针对的是元祖二级以上的元素
#将元祖 tu 中的‘a’修改为666
tu = (111,'alex',(11,['aa','xhg',(78,43)],'aaa'),789,)
tu[2][1][0] = 666
print(tu)
6.count
- Return number of occurrences of value
tu = (111,'alex',(11,['aa','xhg'],'alex'),789,'alex')
v = tu.count('alex')
print(v)
7.index
- Return first index of value.
- Raises ValueError if the value is not present.
tu = (111,'alex',(11,['aa','xhg'],'alex'),789,'alex')
v = tu.index('alex')
print(v)