How to swap two variables in Python

Given two variables x and y, write a Python program to exchange their values. Let's look at different ways to perform this task in Python.

Method 1: Using Naive approach

The most naive approach is to store the value of one variable(say x) in a temporary variable, then assigning the variable x with the value of variable y. Finally, assign the variable y with the value of the temporary variable.
 

# Python program to demonstrate
# swapping of two variables

x = 10
y = 50

# Swapping of two variables
# Using third variable
temp = x
x = y
y = temp

print("Value of x:", x)
print("Value of y:", y)

Output

Value of x: 50
Value of y: 10

Method 2: Using comma operator
Using the comma operator the value of variables can be swapped without using a third variable

# Python program to demonstrate
# swapping of two variables


x = 10
y = 50

# Swapping of two variables
# without using third variable
x, y = y, x

print("Value of x:", x)
print("Value of y:", y)

Output

Value of x: 50
Value of y: 10

Method 3: Using XOR
The bitwise XOR operator can be used to swap two variables. The XOR of two numbers x and y returns a number which has all the bits as 1 wherever bits of x and y differ. For example XOR of 10 (In Binary 1010) and 5 (In Binary 0101) is 1111 and XOR of 7 (0111) and 5 (0101) is (0010).

# Python program to demonstrate
# Swapping of two variables

x = 10
y = 50

# Swapping using xor
x = x ^ y
y = x ^ y
x = x ^ y

print("Value of x:", x)
print("Value of y:", y)

Output

Value of x: 50
Value of y: 10

Method 4: 

Using arithmetic operators we can perform swapping in two ways.

  • Using addition and subtraction operator :

The idea is to get sum in one of the two given numbers. The numbers can then be swapped using the sum and subtraction from sum.
 

# Python program to demonstrate
# swapping of two variables

x = 10
y = 50

# Swapping of two variables
# using arithmetic operations
x = x + y
y = x - y
x = x - y

print("Value of x:", x)
print("Value of y:", y)

Output

Value of x: 50
Value of y: 10
  • Using multiplication and division operator :

The idea is to get multiplication of the two given numbers. The numbers can then be calculated by using the division.

# Python program to demonstrate
# swapping of two variables

x = 10
y = 50

# Swapping of two numbers
# Using multiplication operator

x = x * y
y = x / y
x = x / y

print("Value of x : ", x)
print("Value of y : ", y)

Output

Value of x :  50.0
Value of y :  10.0

Method 5: using Bitwise addition and subtraction for swapping.

#Python program to demonstrate
#swapping of two numbers
a = 5
b = 1
a = (a & b) + (a | b)
b = a + (~b) + 1
a = a + (~b) + 1
print("a after swapping: ", a)
print("b after swapping: ", b)

Output

a after swapping:  1
b after swapping:  5

 

Submit Your Programming Assignment Details