簡介
tuple
1.元組是以圓括號“()”包圍的數據集合,不同成員以“,”分隔。通過下標進行訪問
2.不可變序列,可以看做不可變的列表,與列表不同:元組中數據一旦確立就不能改變(所以沒有類似列表的增刪改操作,只有基本序列操作)
3.支持任意類型,任意嵌套以及常見的序列操作
4.元組通常用在使語句或用戶定義的函數能夠安全地采用一組值的時候,即被使用的元組的值不會改變
聲明及使用
1 in t #判斷
2 not in t
#其他同序列基本操作:分片,索引
print t[0]
print t[-1]
print t[:2]
#不會對原來元組造成影響
print t+(4,5) #返回新元組(1,2,3,4,5)
print t * 2 #(1,2,3,1,2,3)
t.index(1)
t.count(1)
#列表元組轉換
l = [1,2,3]
lt = tuple(l)
tl = list(lt)
lt_sorted = sorted(l) #對元組進行排序,返回是列表
#字符串轉元組(得到字符元組序列)
print tuple('hello) #('h','e','l','l','o')
tuple沒有append/extend/remove/pop等增刪改操作tuple沒有find
查看幫助
用途
1.賦值
2.函數多個返回值
3.傳參[強制不改變原始序列]
4.字符串格式化
5.作為字典的key
優點
1.性能
tuple比列表操作速度快
若需要定義一個常量集,或者是只讀序列,唯一的操作是不斷遍歷之,使用tuple代替list
簡單測試
>>> bt.repeat(3, 100000)
[1.5545141696929932, 1.557785987854004, 1.5511009693145752]
2.不可變性
對不需要的數據進行“寫保護”,使代碼更加安全
不可變性,若在程序中以列表形式傳遞對象集合,可能在任何地方被改變,使用元組,則不能
不可變性只適用于元組本身頂層而非其內容,例如元組內部的列表可以修改
不可變性提供了某種完整性,規范化,確保不會被修改,保持某種固定關系
修改的方法
新聞熱點
疑難解答
圖片精選