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+)
相关推荐
花酒锄作田1 小时前
FastAPI 使用 session 认证
python·fastapi
lsswear1 小时前
Python 并发 线程
开发语言·python
软件课代表CiCi1 小时前
运行库是什么?电脑缺运行库怎么办?c++运行库缺失修复全攻略
开发语言·c++·windows·电脑·dll修复·dll丢失·运行库
Ivanqhz2 小时前
MLIR OpBuilder
开发语言·python·mlir
不会就选b2 小时前
数据结构之排序
数据结构
梅孔立3 小时前
OpenCode + Windows PowerShell 完整安装使用教程
windows
2601_962364973 小时前
面向设备厂商:Windows Hello 认证摄像头核心要点
windows·安全·电脑
威联通安全存储3 小时前
TS-h2287XU-RP 在家电制造总装与质检数据场景的部署
python·制造
泡泡鱼(敲代码中)4 小时前
Python 字符串 str 完整学习笔记
python·学习
troy1284 小时前
Python 基础语法(八):Web 后端开发、数据分析与可视化、网络爬虫、人工智能 / 大模型应用
前端·python·数据分析