Python数据类型-元祖

元祖有两个主要作用:

  1. 当做记录用的很强大的数据类型
  2. 充当不可变的列表

元祖的基本特点

  • 大小不可变、元素内存地址不可变(如果是列表可以修改内容) 的对象
  • 有序元素组成的集合,可索引可迭代

元祖的初始化

  • () :使用小括号定义空元祖
  • tuple() :新建空元祖
  • tuple(iterable):使用一个可迭代对象新建元祖
        t = tuple()    # 新建空元祖
        t = tupule(range(10))  # 先新建元祖,再将其赋值给t
        不是改变元祖 t 的内容,而是重新定义了一个新元祖 t(赋值即重新定义)
    
  • (ele1, ele2, ... , elen):给出所有元素值新建元祖
  • (ele1, ele2, ... , elen) * n :使用*的方式初始化元祖,高效
    • 单元素的元祖定义: (1,),数字后的‘,’不能少,防止与运算符产生歧义

元祖元素的访问

  • 支持索引
    • 正索引:从左到右,从0开始
    • 负索引:从右到左,从-1开始
  • 索引越界会抛出IndexError异常
  • 元祖元素的访问:tuple[index]

元祖的查询

  • 指定元素索引查询(不推荐使用)
    • tuple.index(value [,start [,end]]):在列表中查询value第一次出现的位置
      • 可以指定起止索引值,起止索引默认从左到右
      • 匹配不到value值,会抛出ValueError异常
      • 时间复杂度:O(n)
  • 指定元素计数 ( 不推荐使用)
    - tuple.count(value):查询列表中出现value出现的总次数
    - 时间复杂度:O(n)
  • 元素个数查询:
    • len(tuple):计数的方式来查询
    • 时间复杂度:O(1)

元祖使用建议

  • 不要在元祖内部使用可变数据类型

你可能感兴趣的:(Python数据类型-元祖)