DEV Community

Cover image for 4 ways to swap variable
Muhimen
Muhimen

Posted on

4 ways to swap variable

Do you remember the first code you ever wrote? If my calculations are right then it was a hello, world program, right? Hello, world is now a tradition of programming. Do you know what else is a programming tradition? Swapping two variables. Today, we will see 4 different ways to swap 2 variables.

1 Using a temporary variable

We store the value of any of the variables(suppose it's a) in the temporary variable. Then assign the value of b to a. At last assign the value of tmp to b.

a = 50
b = 40
tmp = a
a = b
b = tmp
Enter fullscreen mode Exit fullscreen mode

2 Without extra variable

This method works for python. I am not sure if the same applies to other languages as well(It should, except C++, C, C#).

a = 50
b = 5
a, b = b, a
Enter fullscreen mode Exit fullscreen mode

3 Without extra variable(math)

This method uses simple math to swap two variables. Keep in mind, we are working with math, so only integer, float or double will work(including long).

a = 5
b = 2
a = a*b
b = a//b
a = a//b
Enter fullscreen mode Exit fullscreen mode

Debuging mode:

>>>a = 5
>>>b = 2
>>>a = a * b ==> 10
>>>b = a / b => 10 / 2 ==> 5
>>>a = a / b => 10 / 5 ==> 2
Enter fullscreen mode Exit fullscreen mode

Side note: Instead of multiplication and division you can use addition and subtraction too. And check out for ZERO DIVISION ERROR.


4 Using a list

In this case, we will add the value of a and b inside a list. And then extract the value in reverse order. Just like this.

a = 5
b = 2
ls = [a, b]
b, a = ls
Enter fullscreen mode Exit fullscreen mode

You can also use python tuples.


That's it. I hope that helps.

Top comments (2)

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
muhimen123 profile image
Muhimen
  1. Maybe
  2. Everyone has different perspectives
  3. True. But you can apply addition and subtraction.