当前位置:首页>python>Python 序列解包与多层索引|核心总结 + 案例

Python 序列解包与多层索引|核心总结 + 案例

  • 2026-10-11 08:40:27
Python 序列解包与多层索引|核心总结 + 案例

哈喽各位同学~

很多同学对序列解包、多层索引总是懵圈,取值经常报错,今天一篇彻底讲透!所有代码都在 print 后面用注释标明结果,不用跑程序也能看懂!

一、核心知识点总结

  1. 序列:列表、元组、字符串都属于序列
  2. 序列解包:一次性把序列拆开,赋值给多个变量
  3. *变量:接收剩余所有元素,自动变成列表
  4. 多层索引:嵌套序列取值 → [外层][内层],从外到内取

二、序列解包案例

# 1. 基础列表解包nums = [10, 20, 30]a, b, c = numsprint(a, b, c)  # 10 20 30
# 2. 元组解包t = (1, 2, 3)x, y, z = tprint(x, y, z)  # 1 2 3
# 3. 字符串解包s = "abc"a, b, c = sprint(a, b, c)  # a b c
# 4. 星号 * 解包(接收剩余元素)nums = [1,2,3,4,5]first, *mid, last = numsprint(first)   # 1print(mid)     # [2, 3, 4]print(last)    # 5#作用:快速取第一个、最后一个、中间全部。
# 5. 下划线 _ 丢弃不需要的值nums = [10,20,30,40]a, _, _, d = numsprint(a)  # 10print(d)  # 40

三、多层索引案例

# 1. 嵌套列表取值scores = [[85,92,76],[58,79,66],[90,88,45]]print(scores[1][0])  # 58
#理解:
scores[1] → 第二层列表 
[58,79,66]
scores[1][0] → 里面第一个元素 58
# 2. 多层遍历scores = [[85,92],[76,58],[79,66]]for group in scores:    print(group[0], group[1])# 85 92# 76 58# 79 66
  • group[0]
     → 取每组的第 1 个数据
  • group[1]
     → 取每组的第 2 个数据

完整运行过程(逐次)

第一次循环:group = [85,92]print (group [0], group [1])  # 85 92

第二次循环:group = [76,58]print (group [0], group [1])  # 76 58

第三次循环:group = [79,66]print (group [0], group [1])  # 79 66

# 3. 多层索引修改元素scores = [[85,92],[76,58]]scores[0][1] = 95   #修改第一组第二个成绩为95print(scores)  # [[85, 95], [76, 58]]
# 4. 解包 + 多层索引结合(超好用)scores = [[85,92],[76,58]]# 把每一组解包for a, b in scores:    print(f"成绩1:{a},成绩2:{b}")# 成绩1:85,成绩2:92# 成绩1:76,成绩2:58

四、新手必避坑

  1. 解包时变量数量 ≠ 元素数量 → 直接报错
  2. 多层索引必须 先外后内
  3. *只能出现一次
  4. 索引从 0 开始,不是 1
  5. 下标超出范围 → 索引越界报错

五、一句话记住核心

  • 解包:一键拆开,一一对应
  • 星号:接收剩下所有元素
  • 多层索引:从外到内,层层取值

今天的序列解包与多层索引就讲到这里~

有疑问欢迎在评论区留言,我会逐一解答。
持续关注,轻松学好 Python 💻

最新文章

随机文章