链式赋值
a = 1
b = 1
c = 1
#对于这种变量值都是相同的变量,可以采用下面的连试赋值方式一起赋值
a= b= c= 1
print(id(a),a)
print(id(b),b)
print(id(c),c)
结果:
交叉赋值
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
#交换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
总结:
简单的解压赋值给多个变量,前提是变量的数量和序列元素的数量是一致的
对于变量的解压,我推荐用于 获取头部或者尾部数据 ,中间数据不推荐