跳至正文
View Categories

1 min read

主要内容 #

  1. 元组的定义及特性
  2. 元组的构建
  3. 元组的索引
  4. 元组和列表的区别及相互转换
  5. 自学部分:元组的基本操作:更新, 删除, 运算, 截取
  6. 自学部分:对元组常用操作的内置函数:len() max() min() tuple()

1. 元组的定义及特性 #

元组与列表类似。 元组的最大特性,也是与列表最大区别是:元组的元素是不可被修改,添加,和删除的。 元组使用小括号定义,而列表使用中括号定义

2. 元组的构建 #

构建一个空元组: 其中,tuple()是Python的内置函数。
tup1 = ()    #  或者  tup1 = tuple()  
print(tup1)
构建一个只有一个元素的元组: 注:逗号一定不能少,否则就变成一个值,而不是数据结构
tup2 = ("小明", )    #  或者  tup2 = tuple(("小明", ))  
print(tup2)
构建多个元素的元组,和列表一样,只不过是用小括号构建:
tup3 = ("小明", "2005/06", "01")    #  或者  tup3 = tuple(("小明", "2005/06", "01"))  
print(tup3)

3. 元组的索引 #

访问元组的方法与列表一样,通过索引进行访问。
tup1 = ("小明", "2005/06", "01") 
print(tup1[0])
print(tup1[1])
print(tup1[2])

4. 元组和列表的区别及相互转换 #

下表总结了元组和列表的区别: 列表和元组可以相互转换: 列表转为元组,通过内置函数tuple()实现,比如:
list1 = ["小明", "2005/06", "01", "小杰", "2005/08", "02"]
tup1 = tuple(list1)
print(tup1)
元组转为列表,通过内置函数list()实现
tup1 = ("小明", "2005/06", "01", "小杰", "2005/08", "02") 
list1 = list(tup1)   #  或使用推导表达式:  list1 = [i for i in tup1]
print(list1)

5. 元组的基本操作:更新, 删除, 运算, 截取 #

  • 元组更新
  • 元组是不可修改类型。 虽然在程序运行过程中无法对元组的元素进行插入和删除运算,但元组可以通过再构造一个新的元组替换旧的元组,来实现元素的插入和删除。 例如:
    tup1 = ("小明", "2005/06", "01")
    tup1 = ("莉莉", "2005/08", "02")  #更新元组 方法2: tup1 = "莉莉", "2005/08", "02"
    print(tup1)
  • 元组删除
  • 不能删除元组的某个元素,但是可以删除整个元组,例如:
    tup1 = ("小明", "2005/06", "01")
    del tup1
    print(tup1)   #由于元组tup1已被删除,所以此行指令会抛出一个错误
  • 元组运算
  • 和列表运算类似,元组可以通过加法运算进行连接
    tup1 = ("小明", "2005/06", "01")
    tup2 = ("莉莉", "2005/08", "02")
    tup3 = tup1 + tup2
    print(tup3)
    和列表运算类似,元组可以通过乘法运算进行复制
    tup1 = ("小明", "2005/06", "01")
    tup2 = tup1 * 2
    print(tup2)
  • 元组截取
  • 和列表截取方法一样,可以通过切片的方式访问元组的其中一段:
    tup1 = ("小明", "2005/06", "01", "小杰", "2005/08", "02") 
    print(tup1[0:3])
    print(tup1[3:])
    print(tup1[::2])
    可以通过设置步长为-1,来取元组逆转的元素:
    tup1 = ("小明", "2005/06", "01", "小杰", "2005/08", "02") 
    tup2 = tup1[::-1]
    print(tup2)

    6. 对元组常用操作的内置函数:len() max() min() tuple() #

    len()函数返回元组的长度:
    list1 = [99, 96, 90]
    tup1 = (99, 96, 90, 80, 97, 1, 16) 
    length = len(tup1)   #len()函数返回元组的长度
    print(length)
    
    maxnum = max(tup1)   #max()函数返回元组的最大值
    print(maxnum)
    
    minnum = min(tup1)   #min()函数返回元组的最小值
    print(minnum)
    
    tup2 = tuple(list1)  #tuple()函数将列表强制转换为元组
    print(tup2)

    7. 小结 #

  • 元组使用小括号定义,且元组的元素是不可被修改,添加,和删除的。
  • 通过索引对元组进行访问
  • 列表和元组可以相互转换,元组转列表使用list()函数;列表转元组使用tuple()函数
  • 元组的基本操作:更新, 删除, 运算, 截取
  • 对元组常用操作的内置函数:len() max() min() tuple()
  • OJ训练题 #

    1、标准零件 – ★
    2、换美金 – ★
    3、不太甜的糖果 – ★
    4、找朋友 – ★★★
    5、体操训练USACO – ★★★★