python中x,y交换值的问题

今天碰到了python和其他语言不同的问题:赋值语句 x,y,z=1,2,3,执行 z,x,y=y,z,x 后,x、y、z 中分别含有什么值?

我想的是 x=2  y=2  z=2

可调试后应该是:x=3  y=1  z=2

因为python在赋值之前已经事先对x和y的新值做了计算。

在C或其他语言中,交换两个值:

/* C语言中两个变量交换 */

tmp = x;

x = y;

y = tmp;

在python中直接交换即可:

x,y = 1,2

x,y = y,x

 

posted @ 2016-11-03 14:32  weller  阅读(5339)  评论(0编辑  收藏  举报