python交换两个变量的值

大部分语言,例如c语言,交换两个变量的值需要使用中间变量。
例如交换a,b
伪代码:

tmp = a
a = b
b = tmp

python里面可以实现无临时变量的交换
(a,b) = (b,a)
对于它的交换原理我深感好奇,因为这意味着python解释器很有可能做了件更多的工作。
如果说变量可以直接交换,那么列表的元素呢?
lists[i], lists[j] =lists[j], lists[i]
是否可以实现列表i,j元素的互换,如果可以实现,原理是什么?
可以实现交换,至于原理,可以用id查看变量或元素的地址。因为python中的变量名类似于指针指向了某个地址,其交换也就是指向改变了。
至于底层的原理,要找一个了解python的人请教一下

posted @ 2022-03-06 10:39  叶常落  阅读(460)  评论(0编辑  收藏  举报