当前位置:首页>python>Python零基础第15讲:字符串vs列表

Python零基础第15讲:字符串vs列表

  • 2026-09-09 05:32:39
Python零基础第15讲:字符串vs列表

很多初学者会觉得:字符串和列表好像差不多?

确实,它们在 Python 里有一个共同的“家族身份”:序列(Sequence)。

01 核心:共享的“序列基因”

为什么说它们是“一家人”?因为作为序列,它们必须遵守一套共同的生存法则。

在 Python 看来,无论是字符组成的字符串,还是万物皆可存的列表,它们都是有序排列的一排格子。

只要是序列,就一定具备以下三个特权:

1. 精准的下标访问 (Indexing)

序列中的每个元素都有一个固定的“门牌号”,从 0 开始。

  • "Python"[0] 拿到了 'P'

  • [10, 20, 30][0] 拿到了 10

2. 灵活的切片手术 (Slicing)

你可以用 [start:stop] 逻辑,从序列中切下任何一段。

  • 左闭右开规则: 包含起点,不包含终点。这是所有 Python 序列通用的“刀法”。

3. 天生的遍历能力 (Iteration)

序列是“可迭代”的。这意味着你不需要知道它有多长,直接丢进 for 循环,它就会乖乖地一个接一个地把元素吐出来。


02 演示:索引与切片

# 字符串:字符的序列s = "Python"print(s[0])    # Pprint(s[1:4])  # yth# 列表:数据的序列l = ['P', 'y', 't', 'h', 'o', 'n']print(l[0])    # Pprint(l[1:4])  # ['y', 't', 'h']

发现了吗?

无论是处理文字还是处理数据,Python 赋予了你完全一致的工具。

03 分水岭:可变性 (Mutability)

虽然操作相似,但真正的分水岭只有一个词:👉 可变性。

🧱 字符串:不可变 (Immutable)

字符串一旦创建,就如同刻在大理石上的文字,不能修改其中的任何内容。

  • 你可以读取它,可以切片,可以拼接生成新的字符串;

  • 但你不能直接改某一个字符。

核心价值: 安全、稳定。因为不可变,它才能放心地作为字典的 Key。

s = "abc"s[0] = "z"  # ❌ 报错:TypeError (不支持原位修改)

🔧 列表:可变 (Mutable)

列表不一样,它就像一块橡皮泥,天生就是为“变化的数据”准备的。

它允许你:修改元素、增加元素、删除元素、甚至排序。

核心价值: 灵活、高效。它承载着程序运行中动态变化的数据集合。

nums = [1, 2, 3]nums[0] = 100  print(nums)  # [100, 2, 3] ✅ 成功

04 真正要理解的核心

字符串和列表都属于“序列类型”,但它们的设计目标完全不同:

字符串 → 表示文本(追求稳定)

列表 → 表示集合(追求可改)

当你开始思考“这个数据到底要不要改”时,你就开始真正理解数据结构了。


🎯 本讲总结

  1. 身份: 都是“序列”,支持下标、切片和遍历。

  2. 本质: 字符串不可变,列表可变。

  3. 应用: 理解“可变性”,是进阶 Python 开发者的必经之路。

我为你整理了一套《Python零基础保姆级教程》,这不只是干巴巴的理论,而是包含:

✅ 完整版 Python 零基础到精通完整代码

✅ 完整注释讲解,一键运行

👇 获取方式:

想要解锁 [Python保姆级教程] 的同学,可以点击下方赞赏支持博主,并在后台留言

最新文章

随机文章