Python入门:6.深入解析Python中的序列

【Python入门系列】第6讲:深入解析Python中的序列(2026最新版)

序列(Sequence)是Python中最重要、最常用的数据类型之一。
几乎所有Python程序都会大量使用序列。

什么是序列?
序列是指 一组有序、可通过索引访问 的数据集合。
Python中最核心的三大内置序列是:

  • 列表(list) —— 最常用、可变
  • 元组(tuple) —— 不可变、速度快
  • 字符串(str) —— 字符序列、不可变

它们共同拥有序列的五大通用特性,今天我们一次性讲透。

1. 序列的通用操作(所有序列都支持)

(1)索引(Index)—— 从0开始

s = ["苹果", "香蕉", "橙子", "西瓜"]

print(s[0])     # 苹果
print(s[1])     # 香蕉
print(s[-1])    # 西瓜(倒数第1个)
print(s[-2])    # 橙子(倒数第2个)

(2)切片(Slice)—— s[start:end:step]

nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

print(nums[2:6])      # [2, 3, 4, 5]   不包含end
print(nums[:5])       # [0, 1, 2, 3, 4] 从头开始
print(nums[5:])       # [5, 6, 7, 8, 9] 到末尾
print(nums[::2])      # [0, 2, 4, 6, 8] 步长为2
print(nums[::-1])     # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] 逆序

切片记忆口诀[开始:结束:步长],结束位置不包含,步长可为负。

(3)序列长度、最大值、最小值、成员判断

print(len(nums))        # 10
print(max(nums))        # 9
print(min(nums))        # 0
print(5 in nums)        # True
print(99 not in nums)   # True

(4)拼接与重复

a = [1, 2]
b = [3, 4]
print(a + b)      # [1, 2, 3, 4]
print(a * 3)      # [1, 2, 1, 2, 1, 2]

2. 列表(list)—— 最灵活的可变序列 ★★★★★

列表用 [] 定义,是Python中使用频率最高的数据类型。

# 创建列表
empty = []
fruits = ["苹果", "香蕉", "橙子"]
numbers = [1, 2, 3, 4, 5]
mixed = [1, "hello", 3.14, True]   # 可以放不同类型

# 常用方法(记住这些就够80%场景)
fruits.append("西瓜")           # 末尾添加
fruits.insert(1, "芒果")        # 指定位置插入
fruits.remove("香蕉")           # 删除第一个匹配项
popped = fruits.pop()           # 删除并返回最后一个(或指定索引)
fruits.pop(0)                   # 删除指定位置

fruits.sort()                   # 原地排序
fruits.reverse()                # 原地反转

print(fruits.count("苹果"))     # 统计出现次数
print(fruits.index("橙子"))     # 查找位置

列表推导式(List Comprehension) —— Python最优雅的特性之一

# 传统写法
squares = []
for i in range(10):
    squares.append(i**2)

# 推导式(一行搞定)
squares = [i**2 for i in range(10)]

# 带条件
even_squares = [i**2 for i in range(10) if i % 2 == 0]
print(even_squares)   # [0, 4, 16, 36, 64]

3. 元组(tuple)—— 不可变序列 ★★★★

元组用 () 定义,一旦创建就不能修改(不能增删改元素)。

t = (1, 2, 3, 4)
print(t[0])        # 1

# 错误示范
# t[0] = 99        # TypeError: 'tuple' object does not support item assignment

元组的用途

  • 作为函数返回值(返回多个值)
  • 作为字典的key(列表不能做key)
  • 需要保证数据不被意外修改的场景(配置信息、安全相关)

解包(Unpacking) —— 非常好用的特性

x, y, z = (10, 20, 30)
print(x, y, z)     # 10 20 30

# 忽略某些值
a, _, c = (1, 2, 3)
print(a, c)        # 1 3

4. 字符串(str)—— 字符序列 ★★★★★

字符串其实也是序列,所以支持索引、切片、in 等所有序列操作。

s = "Python is awesome!"

print(s[0])           # P
print(s[-1])          # !
print(s[7:9])         # is
print("Python" in s)  # True
print(len(s))         # 18

字符串常用方法(超级实用):

print(s.upper())      # 转大写
print(s.lower())      # 转小写
print(s.strip())      # 去除两端空格
print(s.split())      # 按空格分割 → 列表
print("-".join(["a", "b", "c"]))   # a-b-c
print(s.replace("Python", "Java"))

格式化字符串(我们第3讲已经学过,这里再强化)

name = "重阳"
age = 25
print(f"我叫{name},今年{age}岁")

5. 三种序列对比总结表(一目了然)

特性列表 list元组 tuple字符串 str
可变性可变不可变不可变
定义符号[]()""''
速度较慢最快较快
能否做dict的key不能
主要用途存储可修改数据返回多个值、配置文本处理
内存占用较大较小较小

记忆口诀
列表能增删改,元组只读最安全,字符串专攻文本,序列操作都通用!

6. 本讲练习(建议立刻动手)

  1. 创建一个列表,包含1~10的平方数(用列表推导式)。
  2. 给定一个元组 (3, 1, 4, 1, 5, 9),将其转换为排序后的列表。
  3. 输入一句话,统计其中英文单词的数量(用 split())。
  4. 用切片将字符串 "Python is great" 反转输出。

把你的练习代码贴出来,我帮你检查并给出优化建议!


下一讲预告
Python入门第7讲:Python字典(dict)与集合(set)全面详解

序列部分到此结束,接下来我们进入映射类型(字典)无序集合,它们和序列一起构成了Python最核心的四大内置数据结构。

准备好了吗?
回复 “下一讲” 我们继续前进!
或者对序列的任何部分(切片、推导式、元组解包等)有疑问,现在就问我!

你已经掌握了Python的“容器基础”,非常棒!继续保持!🐍✨

文章已创建 5268

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部