在 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.