python中的多(liu)元(mang)交换 ,赋值

多元赋值 顾名思义 同时对多个变量赋值

长话短说

举例:

int x = 1
int y = 2
x,y = y ,x

这种写法可以直接交换x,y的值 非常方(liu)便(mang) 也就是 y=1 ,x=2

机理是其实是将xy转换为元组这种数据类型 然后赋值

还有种比较方(liu)便(mang)的另类交换方法:

a = a^b;

b = a^b;

a = a^b;

用异或运算也可以直接交换a,b的值 还很好记 

很多时候根本不需要按照一些教科书和念ppt的老师 比如构造一个临时变量来交换值

人总是喜欢便捷的方法 与其说是偷懒 不如说是怕浪费时间 把精力多用在有用的事上

值得注意的是:

a1,b2,c3 = a0,b0,a0+b0

这个时候 右边的表达式 是从左到右依次赋值 并且 最先要将a0+b0计算出来(优先级最高) 在进行赋值操作

所以不清楚这个可能会出现失误

原文地址:https://www.cnblogs.com/ranzhong/p/12422106.html