Python數(shù)據(jù)類型-元祖

元祖有兩個主要作用:

  1. 當(dāng)做記錄用的很強大的數(shù)據(jù)類型
  2. 充當(dāng)不可變的列表

元祖的基本特點

  • 大小不可變、元素內(nèi)存地址不可變(如果是列表可以修改內(nèi)容) 的對象
  • 有序元素組成的集合,可索引可迭代

元祖的初始化

  • () :使用小括號定義空元祖
  • tuple() :新建空元祖
  • tuple(iterable):使用一個可迭代對象新建元祖
        t = tuple()    # 新建空元祖
        t = tupule(range(10))  # 先新建元祖,再將其賦值給t
        不是改變元祖 t 的內(nèi)容,而是重新定義了一個新元祖 t(賦值即重新定義)
    
  • (ele1, ele2, ... , elen):給出所有元素值新建元祖
  • (ele1, ele2, ... , elen) * n :使用*的方式初始化元祖,高效
    • 單元素的元祖定義: (1,),數(shù)字后的‘,’不能少,防止與運算符產(chǎn)生歧義

元祖元素的訪問

  • 支持索引
    • 正索引:從左到右,從0開始
    • 負索引:從右到左,從-1開始
  • 索引越界會拋出IndexError異常
  • 元祖元素的訪問:tuple[index]

元祖的查詢

  • 指定元素索引查詢(不推薦使用)
    • tuple.index(value [,start [,end]]):在列表中查詢value第一次出現(xiàn)的位置
      • 可以指定起止索引值,起止索引默認從左到右
      • 匹配不到value值,會拋出ValueError異常
      • 時間復(fù)雜度:O(n)
  • 指定元素計數(shù) ( 不推薦使用)
    - tuple.count(value):查詢列表中出現(xiàn)value出現(xiàn)的總次數(shù)
    - 時間復(fù)雜度:O(n)
  • 元素個數(shù)查詢:
    • len(tuple):計數(shù)的方式來查詢
    • 時間復(fù)雜度:O(1)

元祖使用建議

  • 不要在元祖內(nèi)部使用可變數(shù)據(jù)類型
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容