人人都会AI编程

序列类型:str、list、tuple

更新时间:2026-07-12

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

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 中最基础的数据组织方式。实际编码中,根据需要是否改动数据来选择 listtuple,处理文本时用 str 及其丰富的方法即可。