python交换两个值原理_python 两数交换新写法原理
今天学python,突然发现没有swap函数,那怎么交换两个数呢,难道手写交换,那效率太差了
我们看一下实例
a = 1b= 2a,b=b,aprint(a,b)
其实很简单的原理,然而我却琢磨了半天,可能陷入了过程化编程的思维里,一直纠结a和b到底谁先赋值,怎么交换了,想了半天百度一下,瞬间清晰了
个人想法:
变量只是存储一个值,我们用用新变量指向另一个变量时,其实指向的是另一个变量存储的值
那么这里就可以这么理解了,a,b = b,a 其实变相的给前面 a,b 两个变量他们的指向的值
那么 a = b b = a 为何又不行呢
因为 前面 a = b 时,变量 a 已经指向了b 的值,而后面 b = a 则把a指向的值又传给了b
导致 a = b
其实 a,b = b,a 的运行步骤应该是
1、在内存中找到b的值,a的值 例如:b = 1 a = 2
2、重新赋值 a,b = 1,2
python交换两个值原理_python 两数交换新写法原理相关推荐
- python字典值求和_Python两个字典键同值相加的方法总结
Python字典键同值相加详解 两个字典A = {'a': 1, 'b': 2, 'c': 3}, B = {'b': 4, 'c': 6, 'd': 8} 要合并这两个字典,键值同则相加. 两个字典 ...
- python两个元组相加_Python两个字典键同值相加的几种方法
Python中,如何合并两个键相同,值为元祖类型的字典? dicxs={"李明":("男",19), "杨柳":("女" ...
- 通过python利用哈希值实现比较两个文件的一致性
背景 近来学习到python的内置函数hash(),深入发现通过python的哈希值可以做很多的事情,最典型的可能就是文件加密了,在我们现实生活中大约有如下一些用途: 加密网站注册用户的密码. 网站用 ...
- python字典取键值对_python 获取字典键值对的实现
获 得 字 典 键. 值 的 函 数 有: items/ iteritems/ keys/ iterkeys/ values/ itervalues 通 过 以 上 这 些 函 数 得 到 的 是 键 ...
- python两个字典合并、相同key值保留_Python两个字典key相同的值组成新字典?
按照你的要求编写的多个字典key相同的值组成新字典的Python程序如下 def hebing(dic1,dic3): for key in dic1: if dic3.get(key): dic3[ ...
- python两列字符串合并_python两列字符串如何合并?
python两列字符串如何合并?,字符串,变量,方法,语句,就没 python两列字符串如何合并? python两列字符串如何合并? python两列字符串合并的方法: 1.在很多情况下,我们都需要合 ...
- python连接池原理_python redis之连接池的原理
python redis之连接池的原理 什么是连接池 通常情况下, 当我们需要做redis操作时, 会创建一个连接, 并基于这个连接进行redis操作, 操作完成后, 释放连接, 一般情况下, 这是没 ...
- python concat去除重复值语句_Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)...
摘要 在进行数据分析时,我们经常需要对DataFrame去重,但有时候也会需要只保留重复值. 这里就简单的介绍一下对于DataFrame去重和取重复值的操作. 创建DataFrame 这里首先创建一个 ...
- python concat去除重复值语句_Python数据处理从零开始----第二章(pandas)④数据合并和处理重复值...
目录 第二章(pandas) Python数据处理从零开始----第二章(pandas)④数据合并和处理重复值 ============================================ ...
最新文章
- 静态Web开发 JQuery
- Spring-data-redis:特性与实例--转载
- 为啥八位的计算机可以用补码表示-128
- 在asp.net core 下定义统一的入参和出参格式
- redis取值偶尔取不到_redis 入门
- (03)两个模型的交集、并集、差集
- 光谷码农·每日新闻(2019-05-09)
- linux下把 python 程序运行的输出结果记录到 log 文件中
- testng自定义注解
- e盘根目录出现个Msdia80.dll怎么办?
- 湖畔大学梁宁:比能力重要1000倍的,是你的底层操作系统,与CSDN伙伴们一起共勉!
- 固定IP和自动IP切换bat脚本
- 苹果支付在哪里设置_你会用苹果手机吗?这些快捷指令快速设置一下,好用度提升10倍...
- 文本处理---行未添加逗号和引号
- MacM1-Miniconda相关合集
- 计算机师徒结对方案,师徒结对计划
- tomcat 简介
- 论文精读:GHM:Gradient Harmonized Single-stage Detector
- python_dict_好玩游戏的物品清单
- python用递归方式实现最大公约数_使用Python求解最大公约数的实现方法
热门文章
- 【2021-01-14】navicat使用ssh tunnel、密钥方式连接数据库的问题。错误:Unable to load key - unrecognised cipher name
- 求多个数的最小公倍数
- 用linux命令清空文件夹,技能包!Linux 下清空或删除大文件内容的 5 种方法
- 光电编码器的原理及应用场合_图解编码器应用,推荐收藏
- 【快速入门Linux】8_Linux命令—系统信息相关命令(时间、磁盘、进程)
- 15_python基础—文件操作
- ROS中阶笔记(一):机器人系统设计—ROS系统下连接外部传感器
- python数据库自动对接_如何使用Python连接MySQL建立自动化监控报表
- python 哪些比赛项目_python能做什么项目
- html页面css代码写在哪里,HTML、CSS代码书写规范