链式赋值
a = 1
b = 1
c = 1
#对于这种变量值都是相同的变量,可以采用下面的连试赋值方式一起赋值
a= b= c= 1
print(id(a),a)
print(id(b),b)
print(id(c),c)
结果:
交叉赋值
#交换m,n的值
m=1
n=2
#一般方式
temp=m
m=n
n=temp
print(m,n)
#交叉赋值
m,n=n,m
print(m,n)
变量的解压
#这里是一个列表 nums = [1,2,3,4] a,b,c,d = nums print(a,b,c,d) #结果 1 2 3 4 #如果变量个数和元素的个数不匹配,就会出现错误 nums = [1,2,3] a,b,c,d = nums #ValueError: not enough values to unpack (expected 4, got 3) #如果只想解压一部分(1,4,5) nums = [1,2,3,4,5] a,_,_,b,c = nums print(a,b,c) #结果 1 4 5 #不想要的值可以通过 _ (下划线)进行占位 #对于中间多个值不要 可以使用 *_ nums = [1,2,3,4,5] a,*_,b = nums print(a,b) #结果1 5
小结:
简单的解压赋值给多个变量,前提是变量的数量和序列元素的数量是一致的
对于变量的解压,我推荐用于 获取头部或者尾部数据 ,中间数据不推荐