元祖

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)
05-11 17:13