人人都会AI编程

序列类型:str、list、tuple

更新时间:2026-07-12

Python 的序列类型是一组可以按顺序存放元素的数据容器,共同特征是支持索引、切片和迭代。在六大标准数据类型中,str、list、tuple 属于序列类型,但在可变性上有所区分:list 可变,str 和 tuple 不可变。

str(字符串)

  • 本质:存放 Unicode 字符的不可变序列。一旦创建,不能修改其中的单个字符。
  • 写法:单引号 '...'、双引号 "..."、三引号 '''...''' 或 """..."""(多行字符串)。
  • 常用操作:
  • 拼接:'Hello ' + 'World'
  • 重复:'Hi' * 3
  • 索引:s[0] 获取第一个字符
  • 切片:s[1:4] 获取子串
  • 成员检查:'a' in 'abc'
  • 常用方法:upper()、lower()、strip()、split()、replace()、find()、startswith() 等。
  • 实用要点:字符串格式化推荐 f-string,例如 f"结果是{value:.2f}",简洁高效。处理长文本拼接时,避免循环中用 +,改用 ''.join(list_of_strings) 提升性能。

list(列表)

  • 本质:存放任意类型对象的可变序列,可以增删改元素。
  • 写法:用方括号 [],如 [1, 2, 3]、['a', 1, True]。
  • 常用操作:
  • 创建空列表:[] 或 list()
  • 索引与切片:lst[0]、lst[-1]、lst[1:3]
  • 修改元素:lst[0] = 100
  • 增加元素:append(item)、insert(index, item)、extend(iterable)
  • 删除元素:remove(item)、pop(index)、del lst[0]
  • 排序:sort() 原地排序,sorted() 返回新列表
  • 列表推导式:[i*2 for i in range(5) if i%2==0] 快速生成新列表。
  • 实用要点:列表是 Python 中最常用的容器,适合需要频繁修改、动态增减元素的场景。注意 list 作为可变类型,赋值给多个变量时会指向同一个对象,若需独立拷贝请用 copy() 或 [:] 浅拷贝。

tuple(元组)

  • 本质:存放任意类型对象的不可变序列,创建后不能增删改元素。
  • 写法:用圆括号 (),如 (1, 2, 3)。单元素元组必须加逗号:(1,);空元组直接 ()。
  • 常用操作:
  • 索引、切片、迭代同列表。
  • 因为不可变,只有 count() 和 index() 两个方法。
  • 实用要点:
  • 适合表达固定集合,例如坐标 (x, y)、日期 (year, month, day)。
  • 可用于函数同时返回多个值:return a, b 实际上返回了一个元组。
  • 作为字典的键:因为不可变,元组可以作为 dict 的键,而列表不行。
  • 比列表更轻量、内存占用稍小,在大量数据且只读场景下优先考虑。

三者对比速记:
| 类型 | 可变性 | 典型应用 |
|------|--------|----------|
| str | 不可变 | 文本处理 |
| list | 可变 | 动态数据集合 |
| tuple| 不可变 | 固定配置、多返回值、字典键 |

理解这三种序列类型,你就掌握了 Python 中最基础的数据组织方式。实际编码中,根据需要是否改动数据来选择 list 或 tuple,处理文本时用 str 及其丰富的方法即可。