Python 列表、元组、字典、集合 完整区别对比分析

 更新时间:2026年07月24日 09:02:55   作者:可涵不会debug  
在Python中,列表(list)、元组(tuple)、字典(dict)和集合(set)是四种非常基础且重要的数据结构,它们各自有其独特的用途和特性,下面是对这四种数据结构的完整区别对比,感兴趣的朋友跟随小编一起看看吧

一、基础总览表(背诵版)

类型符号是否可变有序性存储元素允许重复核心用途
列表 list[]✅ 可变✅ 有序任意数据类型✅ 允许重复增删改查、有序数组、临时数据容器
元组 tuple()❌ 不可变✅ 有序任意数据类型✅ 允许重复固定数据、函数返回多值、字典 key
字典 dict{k:v}✅ 可变✅ 3.7 + 插入有序键值对(key+value)key 不可重复,value 可重复映射关系,根据 key 快速取值
集合 set{}✅ 可变❌ 无序仅不可变类型(数字 / 字符串 / 元组)❌ 自动去重去重、交集 / 并集 / 差集运算

二、逐个详细拆解

1. 列表 list[]

特性

  1. 可变:支持增、删、改元素
    lst = [1, 2, 3]
    lst[0] = 99  # 修改
    lst.append(4) # 新增
    lst.pop()     # 删除
  2. 有序:按下标 lst[0] 取值,插入顺序永久保留
  3. 允许重复元素:[1,1,2] 合法
  4. 元素无类型限制,可嵌套列表、字典等可变对象

适用场景

  • 需要频繁修改、追加、删除的数据;
  • 有序数据存储(学生成绩、文件路径序列)。

2. 元组 tuple()

特性

  1. 不可变(核心特点):定义后不能修改、新增、删除任何元素
    t = (1,2,3)
    t[0] = 99 # 直接报错 TypeError
  2. 有序:支持下标取值t[0]、切片t[:2]
  3. 允许重复元素 (1,1,2)
  4. 因为不可变,可以作为字典的 key;列表不行

适用场景

  • 数据不希望被修改(坐标、配置常量);
  • 函数一次性返回多个返回值;
  • 作为字典 key、集合内元素。

小细节:单元素元组必须加逗号 (5,)(5) 只是数字括号,不是元组。

3. 字典 dict{key: value}

特性

  1. 可变:可新增、修改、删除键值对
  2. 有序:Python3.7 及以上,插入顺序保留
  3. 存储结构:唯一键key : 任意值value
    • key 要求:必须是不可变类型(数字、字符串、元组),不能重复;重复 key 会覆盖旧值
    • value 无限制,可重复、可存列表 / 字典
  4. 不能用下标数字取值,只能通过 dict["key"] 按键查找
d = {"name":"小明", "age":20}
d["age"] = 21  # 修改value
d["sex"] = "男" # 新增键值对

适用场景

  • 一对一映射关系:用户信息、配置参数、ID 对应数据;
  • 需要根据名称 / 标识快速查找内容。

4. 集合 set{1,2,3}

特性

  1. 可变集合 set,还有不可变版本frozenset
  2. 无序:没有下标,不能通过set[0]取值,每次打印顺序随机
  3. 自动去重:重复元素存入直接丢弃
    s = {1,1,2,2,3}
    print(s) # {1,2,3}
  4. 元素限制:只能存不可变类型(数字、字符串、元组),列表 / 字典不能放入集合
  5. 专属能力:集合运算(交集、并集、差集)
    a = {1,2,3}
    b = {3,4,5}
    print(a & b) # 交集 {3}
    print(a | b) # 并集 {1,2,3,4,5}
    print(a - b) # 差集 {1,2}

适用场景

  • 快速对列表去重;
  • 判断两个数据集重合、对比差异。

三、高频易混考点

  1. 可变 vs 不可变核心区分
    • 可变:list /dict/set → 内存原地修改,不生成新对象
    • 不可变:tuple /str/int → 修改只能新建对象,原数据不变
  2. 哪些能做字典 key、集合元素? 只有不可变类型:int、float、str、tuple; list、dict、set 可变,禁止作为 key / 集合成员。
  3. 有序 vs 无序
    • 有序:list、tuple、dict (3.7+),支持下标 / 按插入顺序遍历
    • 无序:set,无下标,不记录插入顺序
  4. 去重需求优先用集合 lst = list(set(原列表)) 一行完成去重(缺点:会打乱原有顺序)

四、极简一句话总结

  1. 列表:有序可改,通用数组;
  2. 元组:有序不可改,安全固定数据;
  3. 字典:键值映射,按键快速查找;
  4. 集合:无序自动去重,用于数据对比、去重。
# 字典从 Python 3.7 开始有序
d = {}
d["c"] = 3
d["a"] = 1
d["b"] = 2
print(list(d.keys()))  # ['c', 'a', 'b'] —— 和插入顺序一致
# 集合依然无序
s = {"apple", "banana", "cat", 99999}
print(s)
# 随机种子开启后,每次打印顺序完全不一样

所以"有序"是指:遍历时,元素出现的顺序和当初插入的顺序一致。

到此这篇关于Python 列表、元组、字典、集合 完整区别对比的文章就介绍到这了,更多相关Python 列表、元组、字典、集合内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python+Tkinter实现股票K线图的绘制

    Python+Tkinter实现股票K线图的绘制

    K线图又称蜡烛图,常用说法是“K线”。K线是以每个分析周期的开盘价、最高价、最低价和收盘价绘制而成。本文将利用Python+Tkinter实现股票K线图的绘制,需要的可以参考一下
    2022-08-08
  • 浅析Python中常见数据脱敏技术应用与对比

    浅析Python中常见数据脱敏技术应用与对比

    数据脱敏通过对敏感数据进行转换,确保其在保护隐私的同时仍能用于开发,本文为大家整理了一些常见的数据脱敏技术,感兴趣的小伙伴可以了解下
    2025-02-02
  • Python模块包中__init__.py文件功能分析

    Python模块包中__init__.py文件功能分析

    这篇文章主要介绍了Python模块包中__init__.py文件功能,简单分析了__init__.py在调入模块和包的过程中的作用,需要的朋友可以参考下
    2016-06-06
  • 一篇文章带你了解python字典基础

    一篇文章带你了解python字典基础

    这篇文章主要介绍了Python字典及字典基本操作方法,结合实例形式详细分析了Python字典的概念、创建、格式化及常用操作方法与相关注意事项,需要的朋友可以参考下
    2021-08-08
  • python中playwright截屏API的实现

    python中playwright截屏API的实现

    无论是屏幕录制,还是屏幕截图,Playwright都提供了简洁的方法实现,本文就来详细的介绍一下python中playwright截屏API的实现,具有一定的参考价值,感兴趣的可以了解一下
    2026-01-01
  • Pyinstaller将py打包成exe的实例

    Pyinstaller将py打包成exe的实例

    下面小编就为大家分享一篇Pyinstaller将py打包成exe的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • opencv3/python 鼠标响应操作详解

    opencv3/python 鼠标响应操作详解

    今天小编就为大家分享一篇opencv3/python 鼠标响应操作详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python通过Pygame实现一个经典扫雷游戏

    Python通过Pygame实现一个经典扫雷游戏

    Pygame 是 Python 中一个功能强大的 2D 游戏开发库,它提供了处理图形、声音、输入和事件循环的完整工具集,本文通过 Pygame 实现一个经典扫雷游戏项目,需要的朋友可以参考下
    2026-06-06
  • python3中宏HAVE_VFORK的使用

    python3中宏HAVE_VFORK的使用

    本文主要介绍了python3中宏HAVE_VFORK的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Python datetime和unix时间戳之间相互转换的讲解

    Python datetime和unix时间戳之间相互转换的讲解

    今天小编就为大家分享一篇关于Python datetime和unix时间戳之间相互转换的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04

最新评论