哈喽各位同学~
很多同学对序列解包、多层索引总是懵圈,取值经常报错,今天一篇彻底讲透!所有代码都在 print 后面用注释标明结果,不用跑程序也能看懂!
*变量:接收剩余所有元素,自动变成列表# 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
# 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]group[1]第一次循环: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
*只能出现一次今天的序列解包与多层索引就讲到这里~