Python基础数据类型tuple元组的概念与用法

目录

  • 元组简单介绍
  • 声明元组
  • 元组与列表的区别
  • 特殊的元组
  • 元组的简写
  • 元组常见运算操作
    • 索引 [ ] 取值
    • 切片 [ : : ] 取值
    • 运算符 +
    • 运算符 *
    • 关键字 in
  • 常见函数
    • max(元组) 函数
    • min(元组) 函数
  • 元组常见方法
    • index(item)
    • count(value)
  • 元组总结

    元组简单介绍
    元组是一个和列表和相似的数据类型,也是一个有序序列
    两者拥有着基本相同的特性,但是也有很多不同的地方

    声明元组
    var = (1, 2, 3)var = ("1", "2", "3")var = (True, False)var = (1.1, 1.11, 1.111)var = ((1,), (2, 3), (4, 5))var = ([1, 2], {"name": "polo"})


    元组与列表的区别
    元组与列表很相似,都是有序的只读序列,两者有相同的方法和操作运算,区别在于:
    列表创建后,可以进行修改
    元组创建后,不能进行修改
    lis = [1, 2, 3]lis[0] = 111print(lis)tupl = (1, 2, 3)tupl[0] = 2# 输出结果Traceback (most recent call last):File "/Users/polo/Documents/pylearn/第一章:python 基本类型/6_tuple元组.py", line 21, in tupl[0] = 2TypeError: 'tuple' object does not support item assignment

    究极原因在于
    列表是可变对象,而元组是不可变对象,具体详解可以参考
    //www.jb51.net/article/218564.htm

    特殊的元组
    如果一个元组没有包含任何元素,使用 () 表示一个空元组
    # 空tup = ()print(tup, type(tup))# 输出结果()

    如果一个元组只包含一个元素,要怎么表示?
    # 只包含一个元素tup = (1)print(tup, type(tup))# 输出结果1

    哎!竟然是 1,好像是哦,( ) 就是数学运算常见的括号呀,那到底要怎么表示呢
    正确表示元组只包含一个元素
    # 正确tup = (1,)print(tup, type(tup))# 输出结果(1,)

    需要在元素后加一个逗号,使用 (item, ) 表示该元组
    总结
    (123, ) 表示的是一个元组,元组中包含一个整数 123
    (123) 表示的是一个带括号的表达式,整数 123 嵌入括号中

    元组的简写
    当元组在 = 右边的时候,可以省略括号
    # 等价写法a = 1, 2print(a, type(a))a = (3, 4)print(a, type(a))a = 1,print(a, type(a))a = (3,)print(a, type(a))# 输出结果(1, 2) (3, 4) (1,) (3,)


    元组常见运算操作

    索引 [ ] 取值

    # 索引tup = [1, 2, 3, 4, 5]print(tup[0])print(tup[-1])print(tup[2])# 输出结果153


    切片 [ : : ] 取值

    和列表一样,元组也可以切片
    使用语法:元组[start : end : step],获取元组中在 [start, end) 范围的子元组
    注意范围 [start, end) 包含 start,不包含 end
    step 是步长,设为 n,则每隔 n 个元素获取一次
    # 切片tup = [1, 2, 3, 4, 5, 6, 7, 8]print(tup[:])# 取全部元素print(tup[0:])# 取全部元素print(tup[2:5])# 取第 3 个元素到第 5 个元素print(tup[::-1])# 倒序取所有元素print(tup[-3:-1])# 取倒数第 3 个元素到倒数第 2 个元素# 输出结果[1, 2, 3, 4, 5, 6, 7, 8][1, 2, 3, 4, 5, 6, 7, 8][3, 4, 5][8, 7, 6, 5, 4, 3, 2, 1][6, 7]


    运算符 +

    使用运算符 + 连接多个元组
    # +tup1 = (1,)tup2 = (2, 3)print(tup1 + tup2)# 输出结果(1, 2, 3)


    运算符 *

    使用运算符 * 将元组的元素重复
    # *tup = (1, 2)print(tup * 2)# 输出结果(1, 2, 1, 2)


    关键字 in

    通过关键字 in 检查列表中是否包含指定元素,返回 bool 值
    not in 则是取反
    # intup = (1, 2, 3)print(1 in tup)print(22 not in tup)# 输出结果TrueTrue


    常见函数
    len(元组) 函数
    # lentup = (1, 2, 3)print(len(tup))# 输出结果3

    【Python基础数据类型tuple元组的概念与用法】
    max(元组) 函数

    # maxtup = (1, 2, 3)print(max(tup))# 输出结果3


    min(元组) 函数

    # mintup = (1, 2, 3)print(min(tup))# 输出结果1


    元组常见方法
    元组与列表很相似,两者都表示一个有序的序列,它们的区别在于:
    • 列表创建后,可以进行修改
    • 元组创建后,不能进行修改
    这点在可变对象、不可变对象文章都写了

    index(item)

    在元组中查找指定元素 item
    如果找到元素 item,则返回元素 item 的索引
    如果找不到,则抛出异常
    # indextup = (1, 2, 3)print(tup.index(1))print(tup.index(11))# 输出结果0Traceback (most recent call last):File "/Users/Documents/pylearn/第一章:python 基本类型/6_tuple元组.py", line 88, in print(tup.index(11))ValueError: tuple.index(x): x not in tuple


    count(value)

    返回元素 value 在元组中出现的次数
    # counttup = (1, 2, 1)print(tup.count(1))print(tup.count(11))# 输出结果20


    元组总结
    因为元组是不可变对象,所以元组一般适合用来存储不变的数据
    到此这篇关于Python基础数据类型tuple元组的概念与用法的文章就介绍到这了,更多相关Python数据类型tuple元组内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

      推荐阅读