Python 四大核心数据结构:列表、字典、元组、集合

一、快速总览(一眼看懂区别)

名称 符号 有序 可修改 重复 核心特点
列表 (List) [] ✅ 是 ✅ 是 ✅ 可 最常用、有序、可增删改查
元组 (Tuple) () ✅ 是 ❌ 否 ✅ 可 不可修改、安全、速度快
字典 (Dict) {} ✅(3.7+) ✅ 是 ❌ 键不可 键值对、通过名字取值
集合 (Set) {} ❌ 否 ✅ 是 ❌ 不可 自动去重、数学集合运算

二、逐个详解(带代码示例)

1. 列表 (List) ------ 万能数组

[] 表示,有序、可修改、可重复 相当于一个有序的储物箱,可以放任意类型数据,随时增删改。

复制代码
# 定义
my_list = [10, "Python", True, 3.14]

# 常用操作
my_list.append("新增")    # 末尾添加
my_list[0] = 100          # 修改第1个元素
del my_list[1]            # 删除元素
print(my_list[0])         # 取值:按索引(从0开始)

适用场景:存有序列表(如学生名单、商品列表)


2. 元组 (Tuple) ------ 不可修改的列表

() 表示,有序、不可修改、可重复 和列表几乎一样,但一旦创建就不能改,更安全、更快。

复制代码
# 定义
my_tuple = (10, "Python", True)

# 只能取值,不能增删改
print(my_tuple[1])  # 输出 Python

# 尝试修改会报错!
# my_tuple[0] = 100  # 报错

适用场景:固定不变的数据(如坐标、配置信息、函数返回多值)


3. 字典 (Dict) ------ 键值对映射

{key: value} 表示,键值对、可修改、键不可重复 相当于查字典 :通过键 (key) 快速找 值 (value)

复制代码
# 定义:键: 值
person = {
    "name": "小明",
    "age": 20,
    "city": "北京"
}

# 取值:用键,不用索引
print(person["name"])  # 小明

# 修改/添加
person["age"] = 21
person["gender"] = "男"

适用场景:描述一个对象的属性(用户信息、商品详情、接口数据)


4. 集合 (Set) ------ 自动去重

{} 表示,无序、无索引、无重复 最大特点:自动去掉重复值,支持数学交集 / 并集 / 差集。

复制代码
# 定义(自动去重)
my_set = {1, 2, 2, 3, 3, 3}
print(my_set)  # 输出 {1,2,3}

# 常用操作
my_set.add(4)    # 添加
my_set.remove(2) # 删除

# 数学运算
a = {1,2,3}
b = {3,4,5}
print(a & b)  # 交集 {3}
print(a | b)  # 并集 {1,2,3,4,5}

适用场景:去重、判断元素是否存在、集合运算(如共同好友)


三、最简单记忆口诀

  1. 要有序、能修改 → 用 列表 []
  2. 要有序、不能改 → 用 元组 ()
  3. 要键值对、查得快 → 用 字典 {}
  4. 要去重、算集合 → 用 集合 {}

四、最常用操作速查表

操作 列表 元组 字典 集合
创建 [] () {k:v} {}
取值 [索引] [索引] [键] 不支持
修改
去重 键去重
顺序 有 (3.7+)
相关推荐
就是一只白5 分钟前
复制地理信息python版本
python
看浪的路人14 分钟前
第1讲:Agent 到底是什么?和 Chatbot 有什么区别
python·ai
瓦学妹1 小时前
什么是网络索引?它是如何工作的?
大数据·网络·python·网络爬虫
天天爱吃肉82181 小时前
商用车多体动力学实战笔记|第6篇:动力传动系统(发动机、变速箱、分动器、TCS、LSD限滑差速)
大数据·人工智能·笔记·python·嵌入式硬件·汽车
海盗12342 小时前
微软技术周报 ——2026-08-03
后端·python·microsoft·c#·.netcore
大数据魔法师2 小时前
【最全详解】DuckDB Python 全套 API 语法、参数与实战用法(零基础全覆盖)
python·数据分析
MC皮蛋侠客3 小时前
SQLAlchemy 系列(七):高级建模与高效写入——批量 DML、方言与扩展
数据库·python
Zane19943 小时前
@property 到底是怎么把方法伪装成属性的?一文吃透 property、staticmethod、classmethod
后端·python
qq_316411034 小时前
AI 情感陪伴智能潮玩软硬件一体化开发案例
人工智能·python
废弃的小码农4 小时前
功能测试--Day07--Python编程基础
开发语言·python