Python 【元祖】【元祖相關功能】
阿新 • • 發佈:2018-12-18
元祖
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)