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实现最速下降法求极值的方法

用Python实现最速下降法求极值的方法

对于一个多元函数,用最速下降法(又称梯度下降法)求其极小值的迭代格式为 其中为负梯度方向,即最速下降方向,αkαk为搜索步长。 一般情况下,最优步长αkαk的确定要用到线性搜索技术,比...

Python运算符重载用法实例

本文实例讲述了Python运算符重载用法。分享给大家供大家参考。具体分析如下: python中,我们在定义类的时候,可以通过实现一些函数来实现重载运算符。 例子如下: # -*- c...

python之matplotlib学习绘制动态更新图实例代码

python之matplotlib学习绘制动态更新图实例代码

简介 通过定时器Timer触发事件,定时更新绘图,可以形成动态更新图片。下面的实例是学习《matplotlib for python developers》一文的笔记。 实现 实现代...

wxPython事件驱动实例详解

wxPython事件驱动实例详解

本文实例讲述了wxPython的事件驱动机制,分享给大家供大家参考。具体方法如下: 先来看看如下代码: #!/usr/bin/python # moveevent.py...

python实现多进程通信实例分析

python实现多进程通信实例分析

操作系统会为每一个创建的进程分配一个独立的地址空间,不同进程的地址空间是完全隔离的,因此如果不加其他的措施,他们完全感觉不到彼此的存在。那么进程之间怎么进行通信?他们之间的关联是怎样的?...