• 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}")

    运行效果:

  • 相关阅读:
    TAP 文章系列-10 | 从应用感知能力谈 TAP 的约定服务
    研究生生涯实习记录
    openFeign引入失败
    问题2:为什么4级中断处理完成之后会经过用户程序之后再回到1中断处理程序处理呢
    [深度学习]基于yolov10+streamlit目标检测演示系统设计
    面试Tip--java创建对象的四种方式
    办理400电话客服中心的申请步骤及注意事项
    基于Springboot外卖系统12:删除菜品套餐类别+修改套餐类别信息
    IDEA远程一键部署SpringBoot到Docker
    动手学深度学习——循环神经网络的从零开始实现(原理解释+代码详解)
  • 原文地址:https://blog.csdn.net/m0_59795797/article/details/134430702