在 Python 中互换两个值

Vaibhav Vaibhav 2023年10月10日
  1. 在 Python 中使用元组交换来交换两个值
  2. 在 Python 中使用临时变量交换两个值
  3. 在 Python 中使用 XOR 逻辑交换两个值
在 Python 中互换两个值

通常在处理数据或编程时,我们会遇到必须交换两个变量值的情况。例如,如果 a 存储 5b 存储 25,则交换后 a 将存储 25,而 b 将存储 5。本文将讨论我们可以用来在两个变量之间执行值交换的不同方法。

在 Python 中使用元组交换来交换两个值

在 Python 中,我们可以使用赋值表达式或元组交换来交换值。参考以下代码。

a = 5
b = 25
print("Before swapping")
print("a:", a, "b:", b)
a, b = b, a  # Swapping
print("After swapping")
print("a:", a, "b:", b)

输出:

Before swapping
a: 5 b: 25
After swapping
a: 25 b: 5

注意表达式 a, b = b, a。这个表达式本质上是在右侧和左侧创建一个包含两个值的元组。接下来,将右侧元组的第一个值分配给左侧元组的第一个变量。最后,右侧元组的第二个值被分配给左侧元组的第二个变量。此操作交换两个值。

在 Python 中使用临时变量交换两个值

在此方法中,临时变量用于交换两个值。考虑两个变量 ab 以及一个临时变量 temp。首先,a 的值将被复制到 temp。然后将 b 的值分配给 a。最后,temp 的值将分配给 b,而 temp 变量将被删除或设置为 None

相同的参考下面的代码。

a = 5
b = 25
print("Before swapping")
print("a:", a, "b:", b)
temp = a  # Step 1
a = b  # Step 2
b = temp  # Step 3
del temp  # (optional)
print("After swapping")
print("a:", a, "b:", b)

输出:

Before swapping
a: 5 b: 25
After swapping
a: 25 b: 5

在 Python 中使用 XOR 逻辑交换两个值

在 Python 中,XOR^ 符号表示。并且,我们可以使用它以下列方式执行交换。请注意,此方法仅适用于整数。对于浮点值,我们将得到以下错误。

TypeError: unsupported operand type(s) for ^=: 'float' and 'float'`.
a = 5
b = 25
print("Before swapping")
print("a:", a, "b:", b)
a ^= b  # Step 1
b ^= a  # Step 2
a ^= b  # Step 3
print("After swapping")
print("a:", a, "b:", b)

输出:

Before swapping
a: 5 b: 25
After swapping
a: 25 b: 5
作者: Vaibhav Vaibhav
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.