How do you swap two variables in Python without using a temporary variable?

Learn a clever Python trick to swap the values of two variables without needing a third, temporary variable. This technique showcases Python’s flexibility and is a common interview question for aspiri …

Updated August 26, 2023



Learn a clever Python trick to swap the values of two variables without needing a third, temporary variable. This technique showcases Python’s flexibility and is a common interview question for aspiring Python developers.

Swapping the values of two variables is a fundamental programming task often encountered in coding exercises and interviews. In many languages, this traditionally involves using a third, temporary variable to hold one value while the swap occurs. However, Python offers an elegant solution that bypasses the need for a temporary variable altogether.

Why is this important?

Understanding how to swap variables without a temporary variable demonstrates your grasp of Python’s unique features:

  • Tuple Packing and Unpacking: This technique leverages Python’s ability to pack multiple values into a tuple and unpack them simultaneously.
  • Concise Code: It highlights Python’s focus on readability and writing efficient code.

The Code:

Let’s say we have two variables, a and b, with the values 10 and 20 respectively:

a = 10
b = 20

To swap their values without a temporary variable, we can use the following code:

a, b = b, a
print(f"a: {a}, b: {b}") # Output: a: 20, b: 10

Step-by-step Explanation:

  1. Tuple Packing: The right side of the assignment (b, a) creates a tuple containing the values of b (which is 20) and a (which is 10).

  2. Tuple Unpacking: The left side of the assignment (a, b) unpacks this tuple. The first value from the tuple (20) is assigned to a, and the second value (10) is assigned to b.

Use Cases:

While seemingly simple, this technique can be useful in various scenarios:

  • Algorithm Optimization: Swapping elements efficiently within algorithms like sorting can improve performance.
  • Data Manipulation: Rearranging data points in lists or arrays becomes more concise.

Let me know if you’d like to explore other Python tricks and techniques!


Stay up to date on the latest in Computer Vision and AI

Intuit Mailchimp