python交换两个变量的值方法

yipeiwu_com5年前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的人请教一下

以上这篇python交换两个变量的值方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python监控linux内存并写入mongodb(推荐)

(需要安装psutil 用来获取服务器资源,以及pymongo驱动)#pip install psutil #pip install pymongo #vim memory_moni...

Python的Tornado框架实现图片上传及图片大小修改功能

图片的上传 上传图片使用了表单提交, 下面是html部分, enctype="multipart/form-data"表示不对字节进行编码,上传文件类型时需指定. input标签的 ty...

opencv python 图像轮廓/检测轮廓/绘制轮廓的方法

opencv python 图像轮廓/检测轮廓/绘制轮廓的方法

图像的轮廓检测,如计算多边形外界、形状毕竟、计算感兴趣区域等。 Contours : Getting Started 轮廓 简单地解释为连接所有连续点(沿着边界)的曲线,具有相同的颜色或...

用Python抢过年的火车票附源码

用Python抢过年的火车票附源码

前言:大家跟我一起念,Python大法好,跟着本宝宝用Python抢火车票 首先我们需要splinter 安装: pip install splinter -i http://pyp...

Python的string模块中的Template类字符串模板用法

string.Template() string.Template()内添加替换的字符, 使用"$"符号, 或 在字符串内, 使用"${}"; 调用时使用string.substitut...