优草派  >   Python

Python如何进行数值交换?Python中实现数值交换的四种方法

翟嘉慧            来源:优草派

学习Python变量的时候,我们了解了变量中值的交换方式,借助的是中间变量进行交换,今天的这篇文章也是关于值的交换问题进行讲解,下面让我们一起来看看吧,希望这篇关于Python数值交换的文章,能给大家的学习带来帮助。

Python如何进行数值交换?Python中实现数值交换的四种方法

一、值的互换

1、使用临时变量

在变量中,如果要对两个值进行交换,最常用的就是这种方法,方法使用起来比较的简单,适用于所有的编程语言,举个例子:

tmp = a
a = b
b = tmp

2、使用元组

在Python编程语言中,这种交换方式是特有的,并且在操作的过程中,使用一行代码就可以使用,需要用到的是元素操作,实现原理是,对创建的元组进行拆包,然后再赋值给左边,例如:

a, b = b, a

当然在交换的时候,也可以使用列表,在右边存放一个列表的值,需要注意的地方是右边不能是一个集合,因为集合是无序的,运行结果会出错,举个例子:

a, b, c, d = 10, 20, 30, 40

右边为元组 

a, b, c, d = d, c, b, a
print(a, b, c, d) 
运行结果: 40 30 20 10

右边为列表

a, b, c, d = [d, c, b, a]
print(a, b, c, d) 
运行结果:40 30 20 10

如果右边为集合的话,就会导致最终交换数值不对

a, b, c, d = {d, c, b, a}
print(a, b, c, d)
运行结果:40 10 30 20

3、使用加减法或者是乘除法

使用这种方式的话,就不需要借助中间变量了,可以直接运算。例如:

# 加减法
a = a + b
b = a - b # b = (a + b) - b = a
a = a - b # a = (a + b) - b = (a + b) - a = b
# 乘除法
a = a * b
b = a // b # b = (a * b) // b = a
a = a // b # a = (a * b) // b = (a * b) // a = b

4、异或方法

最后一种方法是借助了异或的特点:当使用0去异或任意的一个数时,运行结果都为任意数,当某个数异或自己的时候,其运行结果为0;在Python中使用异或的操作,满足考虑交互定律,在操作中也不要建立临时变量。

a = a ^ b
b = a ^ b
a = a ^ b

关于Python如何进行数值交换?Python中实现数值交换的四种方法的文章就分享到这里了,希望以上的内容可以对大家的学习带来帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行