元祖、列表、集合、字典区别

1. 列表 (List) ------ "万能的收纳箱"
  • 特点 :用方括号 [] 表示。它是有序 的(你放进去的顺序就是它存储的顺序),也是可变的(你可以随时添加、删除或修改里面的元素)。

  • 什么时候用 :当你需要一个可能会发生变化的有序列表时。比如:待办事项清单、购物车商品、用户输入的历史记录。

  • 怎么用?

    创建元组

    point = (10, 20)
    config = ('localhost', 8080) # 数据库配置

    只能读取,不能写入

    print(point) # 可以访问

    point = 15 # 报错!不允许修改

2. 元组 (Tuple) ------ "保险柜"
  • 特点 :用圆括号 () 表示。它是有序 的,但不可变。一旦创建,里面的元素就不能被修改、添加或删除。

  • 什么时候用 :当你需要存储永远不会改变的数据时。比如:经纬度坐标、数据库连接配置、函数需要返回多个值时。

  • 怎么用?

    复制代码
    # 创建元组
    point = (10, 20)
    config = ('localhost', 8080) # 数据库配置
    
    # 只能读取,不能写入
    print(point)             # 可以访问
    # point = 15             # 报错!不允许修改
    3. 集合 (Set) ------ "去重粉碎机"
  • 特点 :用花括号 {}set() 表示。它是无序 的(没有索引,你无法通过 set 去取值),且自动去重

  • 什么时候用 :当你需要去除重复数据 ,或者需要进行数学集合运算(找共同好友、找差集)时。

  • 怎么用?

    复制代码
    # 创建集合(自动去重)
    nums = {1, 2, 2, 3}        # 结果是 {1, 2, 3}
    
    # 集合运算 (这是它的强项)
    set_a = {1, 2, 3}
    set_b = {3, 4, 5}
    print(set_a & set_b)       # 交集:{3}
    print(set_a | set_b)       # 并集:{1, 2, 3, 4, 5}
    4. 字典 (Dictionary) ------ "超级映射表"
  • 特点 :用花括号 {} 表示,存储的是键值对 (Key-Value)。在 Python 3.7 之后,字典也是有序的。它的查找速度极快(基于哈希表)。

  • 什么时候用 :当你需要通过一个**"关键字"**来查找数据时。比如:学生档案(用学号查姓名)、JSON 数据解析、统计词频。

  • 怎么用?

    复制代码
    # 创建字典
    student = {
        'name': 'Alice', 
        'age': 20, 
        'courses': ['Math', 'CS']
    }
    
    # 通过键来访问
    print(student['name'])     # 输出: Alice
    
    # 修改或新增
    student['age'] = 21        # 修改
    student['city'] = 'BJ'     # 新增

    总结:

  • 要变(可变)且要序(有序) -> 用 List

  • 不变(不可变)且要序 -> 用 Tuple

  • 要查得快(Key-Value) -> 用 Dict

  • 要去重、算交集 -> 用 Set

相关推荐
2401_88497061几秒前
用Pygame开发你的第一个小游戏
jvm·数据库·python
wertyuytrewm19 分钟前
用Python实现自动化的Web测试(Selenium)
jvm·数据库·python
曲辕RPA32 分钟前
深度解析GEO技术及背后的机器人曲辕RPA
python·ai·自动化·rpa
2301_7644413338 分钟前
使用python构建的STAR实验ΛΛ̄自旋关联完整仿真
开发语言·python·算法
xifangge202544 分钟前
Python 爬虫实战:爬取豆瓣电影 Top250 数据并进行可视化分析
开发语言·爬虫·python
Flittly1 小时前
【从零手写 ClaudeCode:learn-claude-code 项目实战笔记】(10)Team Protocols (团队协议)
笔记·python·ai·ai编程
阿_旭1 小时前
基于YOLO26深度学习的蓝莓成熟度检测与分割系统【python源码+Pyqt5界面+数据集+训练代码】图像分割、人工智能
人工智能·python·深度学习·毕业设计·蓝莓成熟度检测
lxmyzzs1 小时前
使用Python分析COCO数据集标注信息:一个简单脚本实现统计与可视化
python·深度学习·目标检测·计算机视觉
wertyuytrewm1 小时前
自动化与脚本
jvm·数据库·python
qq_417695051 小时前
Python深度学习入门:TensorFlow 2.0/Keras实战
jvm·数据库·python