将元祖、列表、字典、字符串、生成器等整体中的每个元素当成个体剥离出来,这个过程就是解包,反过来即为压包。
一.解包
1.简单解包
#元组
a,b,c=("a","b","c")
#列表
a,b,c=["a","b","c"]
#字典
a,b,c={"a":1,"b":2,"c":3}
#字符串
a,b,c="abc"
#生成器
a,b,c = [x+1 for x in range(3)]
#迭代器
a,b,c = enumerate(["a","b"."c"])
可迭代对象都可以这么做,如果待赋值变量与可迭代对象数量不一致则会报错,但可用*号表示多个元素
2.*号在解包中的使用
比如我们要计算平均分,去除最高分和最低分,除了用切,还可以用解包的方式获得中间的数值
a,*b,c = [90,80,70,60,50]
输出:a:90,b:[80,70,60],c:50