Skip to main content

Command Palette

Search for a command to run...

Python 四大核心数据结构详解

Updated
•3 min read•View as Markdown
T
确定性世界里,一个被允许的异常

Python 四大核心数据结构详解

列表(List)· 元组(Tuple)· 字典(Dictionary)· 集合(Set)


1. 列表(List)

有序、可变的元素集合,支持重复元素和混合数据类型,是 Python 中最常用的数据结构之一。

核心特性

特性 说明
定义符号 [元素1, 元素2, ...]
有序性 按插入顺序排列,支持索引访问
可变性 支持增、删、改元素(不创建新列表)
重复性 允许存在重复元素
元素约束 无约束,支持任意数据类型(包括嵌套)
适用场景 有序可修改的数据集(如任务列表、记录集合)

常用操作代码示例

1. 定义列表
list = [1, "a", True, [2, 3]]          # 混合类型+嵌套
2. 访问元素(索引/切片)
print(list[0])         # 正索引:1
print(list[-1])        # 负索引:[2, 3]
print(list[1:3])       # 切片:["a", True]
3. 增删改
list.append(4)         # 末尾添加:[1, "a", True, [2,3], 4]
list.insert(1, "b")    # 指定位置插入:[1, "b", "a", ...]
list[0] = 100          # 修改元素:[100, "b", "a", ...]
list.pop(2)            # 按索引删除:删除 "a"
list.remove(True)      # 按值删除:删除 True
4. 其他常用方法
list.extend([5, 6])    # 扩展列表:[100, "b", [2,3], 4,5,6]
list.sort()            # 排序(仅同类型元素可用)
print(list)

2. 元组(Tuple)

有序、不可变、更安全、更快,一旦创建不能修改。

核心特性

特性 说明
定义符号 (元素 1, 元素 2, ...)
有序性 ✅ 有序
可变性 ❌ 不可修改
重复性 ✅ 允许重复
适用场景 固定配置、函数返回值

常用操作代码示例

# 1. 定义元组
t = (10, 20, "hello", [1,2])

# 2. 访问元素(仅支持访问)
print(t[0])    # 10
print(t[-1])   # [1,2]

# 3. 元组不可增删改,以下操作都会报错
# t.append(30)
# t[0] = 100
# del t[1]

3. 字典(Dictionary)

键值对存储、无序、键唯一、查找极快。

核心特性

特性 说明
定义符号 {key: value, ...}
存储方式 键值对(key-value)
键唯一性 ✅ 键不能重复
查找速度 ⚡ 极快(哈希表)

常用操作代码示例

# 1. 定义字典
user = {"name": "小明", "age": 20, "gender": "男"}

# 2. 访问值
print(user["name"])
print(user.get("age"))

# 3. 添加/修改键值对
user["age"] = 21          # 修改
user["city"] = "北京"     # 新增

# 4. 删除键值对
user.pop("gender")        # 按key删除
del user["age"]           # del删除

# 5. 获取所有键、所有值
print(user.keys())
print(user.values())

4. 集合(Set)

无序、无索引、元素唯一、自动去重。

核心特性

特性 说明
定义符号 {元素 1, 元素 2, ...}
有序性 ❌ 无序
重复性 ❌ 自动去重
常用功能 去重、交集、并集、差集

常用操作代码示例

# 1. 定义集合
s = {1, 2, 2, 3, 3, 4}  # 自动去重 → {1,2,3,4}

# 2. 列表快速去重(最常用)
list = [1,1,2,2,3,3,4]
new_list = list(set(list))

# 3. 添加元素
s.add(5)
s.update([6,7,8])

# 4. 删除元素
s.remove(3)
s.discard(10)  # 不存在不报错

# 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}

增删改查操作对比

操作 列表 List 元组 Tuple 字典 Dict 集合 Set
增加 append、insert ❌ dict[key] = val add、update
删除 remove、pop ❌ pop、del remove、discard
修改 list[index] = x ❌ dict[key] = x ❌
查找 索引 / 切片 索引 键查找 循环 /in 判断

📌 最终总结

  • List:最常用,需要增删改用它

  • Tuple:数据不可变,安全、高效

  • Dict:键值对,快速查找

  • Set:自动去重、集合运算

More from this blog

离散数学5.1-二元关系一

一、有序对和笛卡尔积 1、有序对(序偶):由两个元素 x 和 y 按照确定顺序排列组成的二元组,记作⟨x, y⟩ 2、笛卡尔积:以 A 中元素为第一元、B 中元素为第二元,构造所有有序对⟨x,y⟩; 由全部这类有序对构成的集合,称为 A 与 B 的笛卡尔积,记作 AXB 例题: 已知 A={a,b}, B={0,1,2},求笛卡尔积 A × B、B × A A × B(前元取自 A,后元取自 B

Jun 25, 20261 min read14
离散数学5.1-二元关系一
天

天创域

37 posts

欢迎来到天创的博客