技术架构
/
Feb 08, 2026
Step 5 第四篇:虚实篇 (Void & Reality) —— 运兵布阵,数据结构
<!-- Title: 第四篇:虚实篇 (Void & Reality) —— 运兵布阵,数据结构 -->
<!-- ID: 139 -->
<!-- Series: Python 兵法:零基础建站与 AI 编程实战 (ID: 7) -->
<!-- Author: 潘卫 -->
## 第四篇:虚实篇 (Void & Reality) —— 运兵布阵,数据结构
### 【原文】
> **兵无常势,水无常形。能因敌变化而取胜者,谓之神。**
> **译文**:军队没有固定的阵势,水没有固定的形状。能根据敌情变化而取胜的,才叫用兵如神。
### 【兵法详解】
单个变量(士兵)战斗力有限。我们需要将士兵编组成不同的**阵型**,才能发挥集团军的威力。在 Python 中,这些阵型就是**数据结构**。选择合适的数据结构,是优化程序性能的关键。
### 【1. 列表 (List):长蛇阵】
列表是最常用的阵型。它是有序的、可变的。就像一排站好的士兵,每个人都有编号。
```python
# 创建列表
inventory = ["倚天剑", "屠龙刀", "软猬甲"]
# 1. 增兵 (Append/Insert)
inventory.append("汗血宝马") # 加到最后
inventory.insert(0, "孔雀翎") # 插队到第一个
# 2. 点兵 (Index) - 索引从 0 开始!
print(f"主武器是:{inventory[1]}") # 输出 倚天剑 (因为 0 是孔雀翎)
# 3. 切片战术 (Slicing) - 极其强大的功能
# 格式:[start:end:step]
print(f"前排装备:{inventory[0:3]}") # 取索引 0, 1, 2
print(f"倒序查看:{inventory[::-1]}") # 瞬间反转列表
# 4. 减员 (Remove/Pop)
inventory.remove("屠龙刀") # 按名字移出
last_item = inventory.pop() # 弹出最后一个
```
### 【2. 字典 (Dictionary):情报网】
字典是无序的(3.7后有序但主要特性是键值对),通过“名字”查找“内容”,速度极快(哈希表原理)。列表查找像是在长队里挨个问,字典查找像是查字典,一翻即至。
```python
# 创建武将档案 (Key: Value)
general = {
"name": "关羽",
"weapon": "青龙偃月刀",
"power": 98,
"loyalty": 100
}
# 查阅情报
print(f"{general['name']} 使用 {general['weapon']}")
# 只有字典能做到的事:快速更新
general['power'] = 99 # 升级了
general['rank'] = "五虎上将" # 新增属性
# 遍历情报
for key, value in general.items():
print(f"{key}: {value}")
```
### 【3. 元组 (Tuple):铁桶阵】
元组和列表很像,但它是**不可变**的 (Immutable)。一旦创建,不能增加、删除、修改。
* **用途**:用于存储那些绝对不应该被修改的数据,比如地图坐标、配置常量。
* `coords = (100, 200)`
### 【4. 集合 (Set):散兵线】
集合是无序的,且**不允许重复**。
* **用途**:快速去重、集合运算(交集、并集)。
* `a = {1, 2, 3}; b = {3, 4, 5}`
* `print(a & b)` -> `{3}` (交集)
---
P
潘卫
南京市沉思波网络科技有限责任公司创始人、CEO
您的观点 (可选)
🎁 注册账号,同步您的个性化学习路径