Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1654205
  • 博文数量: 2243
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 22559
  • 用 户 组: 普通用户
  • 注册时间: 2020-11-26 14:30
个人简介

更多python、Linux、网络安全学习内容,可移步:www.oldboyedu.com或关注\"老男孩Linux\"公众号

文章分类

全部博文(2243)

文章存档

2024年(93)

2023年(643)

2022年(693)

2021年(734)

2020年(80)

我的朋友

分类: Python/Ruby

2022-09-08 11:51:30

  近期,有一个同学在面试Python工程师的时候,面试官问了这样一个问题:你能用几种方法来实现交换两个变量的值?在没有看文章之前,各位小伙伴知道几种方法呢?小编为大家整理了四种数值交换方式,下面我们一起来看看吧。

  方法1、通过新添加中间变量temp的方式,这个方式是最简单的,每个语言都适用。

  def swap(a,b):

  temp=a

  a=b

  b=temp

  print(a,b)

  方法2、Python独有的方法,一行代码就能搞定,直接将两个元素放到元组。

  def swap2(a,b):

  a,b=b,a

  print(a,b)

  方法3、这个方法采用加减法来交换。不考虑效率,能达到交换的效果就行

  def swap3(a,b):

  a=a+b

  b=a-b

  a=a-b

  print(a,b)

  方法4、采用异或运算,这个是不是看起来比较高大上。通过按位异或运算来交换两个变量的值,可以减少变量的定义。

  按位异或运算即计算机会把十进制数转化为二进制数,并对二进制数进行从右到左从1开始编数,然后比较两个二进制数值相同位置的数,如果相同结果为0,不同时结果为1。

  “1^1=01^0=10^0=0°

  如:10101111

  则结果为0101

  def swap4(a,b):

  a=a^b

  b=a^b

  a=a^b

  print(a,b)

阅读(804) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~