• Python数据容器之(元组)


    我们前面所了解的列表是可以修改的,但如果想要传递的信息,不被篡改,列表就不合适了。

    元组同列表一样,都是可以封装多个、不同类型的元素在内。

    但最大的不同点在于:

    元组一旦定义完成,就不可修改

    所以,当我们需要在程序内封装数据,又不希望封装的数据被篡改,那么使用元组就非常合适了

    元组的定义

    定义语法:

     

    嵌套元组的定义

     

     注意:元组只有一个数据,所以这个数据后面要添加逗号 

    元组的相关操作

    编号

    方法

    作用

    1

    index()

    查找某个数据,如果数据存在返回对应的下标,否则报错

    2

    count()

    统计某个数据在当前元组出现的次数

    3

    len(元组)

    统计元组内的元素个数

    1. # 统计单个元素个数
    2. t5 = ("Eternallei", "Eternallei", "Eternallei", "Eternallei", "HelloWorld")
    3. element = t5.count("Eternallei")
    4. print(f"元组中'Eternallei'的个数是:{element}")
    5. # 查找
    6. t5 = ("Eternallei", "Eternallei", "Eternallei", "Eternallei", "HelloWorld")
    7. index = t5.index("HelloWorld")
    8. print(f"元组中'HelloWorld'的下标索引是:{index}")
    9. # 统计所有元素个数
    10. t5 = ("Eternallei", "Eternallei", "Eternallei", "Eternallei", "HelloWorld")
    11. sum = len(t5)
    12. print(f"元组中元素有:{sum}个")

    元组由于不可修改的特性,所以其操作方法也非常少。

    不可以修改元组的内容,否则会直接报错:

    可以修改元组内的list的内容(修改元素、增加、删除、反转等):

    不可以替换list为其它list或其它类型:

     

    元组的遍历

    同列表一样,元组也可以被遍历。可以使用while循环和for循环遍历它

    while遍历:

    for遍历:

    运行结果:

     经过上述对元组的了解,可以总结出列表有如下特点:

    可以容纳多个数据

    可以容纳不同类型的数据(混装)

    数据是有序存储的(下标索引)

    允许重复数据存在

    不可以修改(增加或删除元素等)

    支持for循环

    多数特性和list一致,不同点在于不可修改的特性。

    元组练习案例

    接下来做一个案例增加我们对元组的使用:

    定义一个元组,内容是:(记录的是一个人物的信息(姓名、年龄、爱好)

    通过元组的功能(方法),对其进行:

    1. 查询其年龄所在的下标位置
    2. 查询人物的姓名
    3. 删除人物爱好中的basket ball增加爱好football到爱好 list

    代码实现:

    1. # 定义元组mation
    2. mation = ('Eternallei', 22, 'basketball', 'music')
    3. # 查询年龄所在的下标位置
    4. index = mation.index(22)
    5. print(f"年龄所在下标索引是:{index}")
    6. # 查询姓名
    7. name = mation[0]
    8. print(f"姓名:{name}")
    9. # 删除爱好basketball,添加爱好football到lis内
    10. information = list(mation) # 将元组转换为列表
    11. del information[2]
    12. print(f"删除后的效果:{information}")
    13. information.insert(2,'football')
    14. print(f"添加后的效果:{information}")

    运行效果:

  • 相关阅读:
    JS中的setter、getter数据存取器
    代码随想录算法训练营二十四期第十三天|LeetCode239. 滑动窗口最大值、LeetCode347. 前 K 个高频元素
    Python自动化办公【自动组织文件】
    使用Go env命令设置Go的环境
    Java源码分析 | Object
    Spring使用AspectJ开发AOP:基于XML和基于Annotation
    短信接口防盗刷解决方案
    bat获取当前目录和上级目录
    【深度学习】DDPM,Diffusion,概率扩散去噪生成模型,原理解读
    Ansible自动化部署工具-组件及语法介绍
  • 原文地址:https://blog.csdn.net/m0_59795797/article/details/134430702