zoukankan      html  css  js  c++  java
  • Python 元组数据类型(tuple)详解 [访问元组元素][修改元组元素][删除元组][学习 Python 必备基础知识][看此一篇就够了]

    您的“关注”和“点赞”,是信任,是认可,是支持,是动力......

    如意见相佐,可留言。
    本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新。

    在这里插入图片描述

    1 元组概述

    元组是由一系列按特定顺序排序的元素组成的序列结构。

    元组的所有元素都放在一对小括号( )(小括号不是必须的,只要将各元素用逗号隔开,Python 就会将其视为元组)中,相邻元素之间用逗号,分隔(通常还会在逗号后加一个空格),可以存储数字、字符串、列表、元组等任何类型的数据,并且在同一个元组中,元素的类型可以不同,元素的个数没有限制。

    举例如下所示:

    ("https://blog.csdn.net/manongajie", 100, [1, '码农阿杰'], ("abc", 13.0))
    

    元组,在 Python 中用 tuple 表示。

    通常情况下,元组用于储存异构数据的多项集(例如:由 enumerate() 内置函数所产生的二元组)。 元组也被用于需要同构数据的不可变序列的情况(例如:允许存储到 setdict 的实例)。简单理解,元组用于保存无需修改的内容。

    通过 type() 函数可以查看元组的类型,如下所示:

    >>> type(("https://blog.csdn.net/manongajie", 100, [1, '码农阿杰'], ("abc", 13.0)))
    <class 'tuple'>
    

    2 元组和列表的不同之处

    • 列表的元素是可以更改的,包括增删改查,所以列表是可变序列。
    • 元组一旦被创建,它的元素是不可更改的,所以元组是不可变序列。

    3 Python 创建元组

    3.1 使用()直接创建元组

    使用格式如下所示:

    tuplename = (element1, element2, ..., elementn)
    tuplename1 = ()  # 空元组
    

    对以上格式说明,

    • tuplename:变量名(元组名称)。创建好元组后,通常会将元组赋值给一个变量,便于后面的再次使用。
    • element1 ~ elementn:表示元组的元素。
    • 元组的所有元素都放在一对小括号( )中,但是,小括号不是必须的,只要将各元素用逗号隔开,Python 就会将其视为元组。
    • 如果创建的元组中只有一个字符串类型的元素时,该元素后面必须要加一个逗号,,否则 Python 解释器会将它视为字符串。
    • 请注意:决定生成元组的其实是逗号而不是圆括号。 圆括号只是可选的,生成空元组或需要避免语法歧义的情况除外。

    举例如下所示:
    例一,

    tuple_demo1 = (1, 3, 5, 2, 4, 6)
    tuple_demo2 = ('https://blog.csdn.net/manongajie', '码农阿杰', 'https://www.cnblogs.com/manongajie/')
    
    print(type(tuple_demo1))  # 查看元组类型,并打印到控制台
    print(type(tuple_demo2))  # 查看元组类型,并打印到控制台
    
    

    运行结果:

    <class 'tuple'>
    <class 'tuple'>
    

    例二,

    tuple_demo1 = ('微信公众号', ':', '码农阿杰')  # 带小括号的元组
    tuple_demo2 = '微信公众号', ':', '码农阿杰'  # 不带小括号的元组
    
    print(type(tuple_demo1))
    print(type(tuple_demo2))
    
    

    运行结果:

    <class 'tuple'>
    <class 'tuple'>
    

    例三,

    tuple_demo1 = ('微信公众号')  # 如果创建的元组中只有一个字符串类型的元素时,该元素后面必须要加一个逗号`,`,否则 Python 解释器会将它视为字符串。
    tuple_demo2 = ('微信公众号',)  # 如果创建的元组中只有一个字符串类型的元素时,该元素后面必须要加一个逗号`,`,否则 Python 解释器会将它视为字符串。
    
    print(type(tuple_demo1))
    print(type(tuple_demo2))
    
    

    运行结果:

    <class 'str'>
    <class 'tuple'>
    

    3.2 使用 tuple() 函数创建元组

    使用 tuple() 内置函数创建元组,其实就是将其它数据类型转换为元组类型。

    使用格式如下所示:

    tuple(data)
    

    对以上格式说明,

    • tuple():tuple() 内置函数可以将其它数据类型转换为元组类型。
    • data:表示可以转化为元组的数据(字符串、元组、range 对象等)。

    举例如下所示:

    str_demo = '码农阿杰'  # 字符串
    list_demo = [1, 2, 3, 4, 5]  # 列表
    range_demo = range(1, 7)  # range 区间
    
    print(tuple(str_demo))  # 将字符串转换为元组
    print(tuple(list_demo))  # 将列表转换为元组
    print(tuple(range_demo))  # 将 range 区间转换为元组
    print(tuple())  # 空元组
    
    
    

    运行结果:

    ('码', '农', '阿', '杰')
    (1, 2, 3, 4, 5)
    (1, 2, 3, 4, 5, 6)
    ()
    

    4 Python访问元组元素

    4.1 使用索引访问元组元素

    使用索引访问元组元素的格式为:

    tuplename[index]
    

    对以上格式说明,

    • tuplename:表示元组名字。
    • index:表示索引值。可以是正数,也可以是负数。
    • tuplename[index]:得到的是一个元素的值。

    举例如下所示:

    tuple_demo = ('微信公众号:', '码农阿杰')
    
    print(tuple_demo[1])  # 打印出索引值为 1 的元素值
    
    

    运行结果:

    码农阿杰
    

    4.2 使用切片访问元组元素

    使用切片访问元组元素的格式为:

    tuplename[start : end : step]
    

    对以上格式说明,

    • tuplename:表示元组名字。
    • start:表示起始索引。可以是正数,也可以是负数。
    • end:表示结束索引。可以是正数,也可以是负数。
    • step:表示步长。可以不写步长,默认值为 1 。
    • tuplename[start : end : step]:得到的是一个新的子元组。

    举例如下所示:

    tuple_demo = (1, 2, 3, 4, 5, 6, 7, 8)
    
    print(tuple_demo[1: 6])
    print(tuple_demo[0: 7: 2])
    
    

    运行结果:

    (2, 3, 4, 5, 6)
    (1, 3, 5, 7)
    

    5 Python 修改元组

    5.1 替换法

    替换法修改元组,指的是创建一个新的元组去替代旧的元组。因为元组是不可变序列,元组中的元素不能被修改。

    举例如下所示:

    tuple_demo = (1, 2, 3, 4, 5, 6, 7, 8)
    
    print('修改前 tuple_demo =', tuple_demo)
    print('修改前 tuple_demo 元组 id:', id(tuple_demo))  # id()函数返回值为内存地址的唯一标识
    
    tuple_demo = ('微信公众号', ':', '码农阿杰')  # 修改元组,即对元组变量进行重新赋值
    
    print('修改后 tuple_demo =', tuple_demo)
    print('修改后 tuple_demo 元组 id:', id(tuple_demo))
    
    

    运行结果:

    修改前 tuple_demo = (1, 2, 3, 4, 5, 6, 7, 8)
    修改前 tuple_demo 元组 id: 2299227267248
    修改后 tuple_demo = ('微信公众号', ':', '码农阿杰')
    修改后 tuple_demo 元组 id: 2299227317120
    

    id 标识可以看出(id 不同),修改后与修改前不是同一个元组。

    5.2 拼接法

    拼接法修改元组,指的是通过连接多个元组,使用+加法运算符拼接元组的方式向元组中添加新元素。

    举例如下所示:

    tuple_demo1 = (1, 2, 3)
    tuple_demo2 = (6, 7, 8)
    tuple_demo3 = tuple_demo1 + tuple_demo2  # 使用 + 加法运算符拼接元组
    
    print('修改前 tuple_demo1 =', tuple_demo1)
    print('修改前 tuple_demo2 =', tuple_demo2)
    print('修改前 tuple_demo1 元组 id:', id(tuple_demo1))
    print('修改前 tuple_demo2 元组 id:', id(tuple_demo2))
    
    print('-----------------------------------------')
    
    print('拼接后 tuple_demo3 =', tuple_demo3)
    print('拼接后 tuple_demo3 id 为:', id(tuple_demo3))
    
    

    运行结果:

    修改前 tuple_demo1 = (1, 2, 3)
    修改前 tuple_demo2 = (6, 7, 8)
    修改前 tuple_demo1 元组 id: 2506328220544
    修改前 tuple_demo2 元组 id: 2506328429952
    -----------------------------------------
    拼接后 tuple_demo3 = (1, 2, 3, 6, 7, 8)
    拼接后 tuple_demo3 id 为: 2506298941248
    

    id 标识可以看出(id 不同),使用+拼接元组以后,生成的是一个新的元组。

    6 Python 删除元组

    Python 自带垃圾回收功能,会自动销毁不用的元组,所以一般不需要通过 del 关键字来手动删除。

    手动删除不用的元组,举例如下所示:

    tuple_demo = (1, 2, 3, 4, 5, 6, 7, 8)
    
    print('删除前 tuple_demo =', tuple_demo)
    del tuple_demo  # 使用 del 关键字删除元组
    print('删除后 tuple_demo =', tuple_demo)
    
    

    运行结果:

    删除前 tuple_demo = (1, 2, 3, 4, 5, 6, 7, 8)
    Traceback (most recent call last):
      File "D:/Data/ProfessionalSkills/Python/PycharmProjects/demo/demo.py", line 135, in <module>
        print('删除后 tuple_demo =', tuple_demo)
    NameError: name 'tuple_demo' is not defined
    

    【文章其它地址】

    微信公众号:码农阿杰

    CSDN 博客

    【参考资料】

    Python 官网

    Python 3.8.2 documentation

  • 相关阅读:
    token验证流程
    mongodb常用命令
    vue生命周期详解
    json-server基本使用
    Vue实现一个简单的todolist
    [高级软件工程教学]个人第2次作业第一次测评结果
    [福大高级软工教学]个人第1次作业成绩公布
    nginx+tomcat负载均衡
    apache 工作模式
    Apache主要的配置文件们
  • 原文地址:https://www.cnblogs.com/manongajie/p/12853339.html
Copyright © 2011-2022 走看看