How to swap position of element in list python

This article deals with some programs in Python that swaps any two given elements from a given list by user at run-time. Here are the list of programs covered in this article:

  • Swap two elements in a list of 5 elements
  • Swap two elements in a list of n elements

Note - In all the programs given below, we've consider the position value as index value of the list. Since indexing starts with 0, therefore if user enters 1 as position after executing the program, it gets considered as 1th index element, that will actually be the second element.

But you can modify it, just by adding 1 with both the input values before applying the swapping code.

Swap Two Elements in List

The question is, write a Python program to swap any two elements in a list. Both positions of two elements and list must be received by user at run-time. The program given below is answer to this question:

mylist = []
print("Enter 5 elements for the list: ")
for i in range(5):
    mylist.append(int(input()))

print("Enter Positions of Two Numbers to Swap: ")
posOne = int(input())
posTwo = int(input())

posOneElement = mylist[posOne]
posTwoElement = mylist[posTwo]

mylist[posOne] = posTwoElement
mylist[posTwo] = posOneElement

print(mylist)

Here is its sample run. This is the snapshot of the initial output produced by this Python program:

How to swap position of element in list python

Now supply the input say 1, 2, 3, 4, 5 as five elements for the list, then 1 and 4 as the position (index) number for the two elements to swap. Here is its sample output after supplying exactly same inputs:

Note - When considering position as index, the list suppose [1, 2, 3, 4, 5], where 1 is considered as zeroth element, 2 is considered as first element, 3 is considered as second element, and so on. Because indexing in list always starts with 0.

Swap Two Elements in List of n Elements

This is actually the modified version of previous program. Since this program leaves the size of list to be defined by user at run-time along with its elements. Rest of the things are similar to previous program.

mylist = []
print("Enter the size of list: ", end="")
tot = int(input())

print("Enter " +str(tot)+ " elements for the list: ", end="")
for i in range(tot):
    mylist.append(int(input()))

print("Enter Positions of Two Numbers to Swap: ", end="")
posOne = int(input())
posTwo = int(input())

posOneElement = mylist[posOne]
posTwoElement = mylist[posTwo]

print("\nList before swapping: ", end="")
print(mylist)

mylist[posOne] = posTwoElement
mylist[posTwo] = posOneElement

print("\nList after swapping: ", end="")
print(mylist)

The snapshot given below shows the final output produced by this program after providing the input, 6 as size of list, 1, 2, 3, 4, 5, 6 as its six elements, and 1 and 2 as position of elements to swap.

You can also use these block of codes:

print("\nList before swapping: ", end="")
print(mylist)

temp = mylist[posOne]
mylist[posOne] = mylist[posTwo]
mylist[posTwo] = temp

instead of

posOneElement = mylist[posOne]
posTwoElement = mylist[posTwo]

print("\nList before swapping: ", end="")
print(mylist)

mylist[posOne] = posTwoElement
mylist[posTwo] = posOneElement

to do the same job as of previous program.

Python Online Test


« Previous Program Next Program »



So far, we have performed a variety of operations on lists in Python. In this article, we will learn how we can swap the elements of a list.

But first, let's understand what swapping is all about?

Swapping is a process in which two variables exchange the values that they hold.

For example,

If a variable A holds an integer value of 10 and a variable B holds an integer value of 20, then on swapping B will hold 20 and A will hold 10.

We will use the following approaches to swap the elements in the list.

  1. The Basic Swap
  2. Using pop() function
  3. Using a tuple variable

So, let's get started with the first one,

The Basic Swap

Here, we will the basic idea of swapping to swap the elements of list.

The following program illustrates the same,

Output:

The values inside the list are:  [20, 13, 41, 11, 10, 29]
The list with swapped elements is:  [20, 10, 41, 11, 13, 29]

Explanation-

It's time to understand what we have done in the above program,

  1. We have created a function that takes three parameters, list whose elements we would like to swap and a & b which are the indexes of elements.
  2. In the next step, we have simply used a comma and the assignment operator to show that the value inside 'b' goes in 'a' and vice versa.
  3. After this, we have initialized the list whose elements we would like to swap.
  4. We have then displayed the original list and specified the index values.
  5. Finally, we have passed these values inside our function and on execution the desired output is displayed.

In the second program, we shall see how pop() can be used here.

Using pop() function

Consider the program given below,

Output:

The values inside the list are:  [20, 13, 41, 11, 10, 29]
The list with swapped elements is:  [20, 10, 41, 11, 13, 29]

Explanation-

It's time to have a glance at the explanation of the above program,

  1. We have created a function that takes three parameters, list whose elements we would like to swap and a & b which are the indexes of elements.
  2. In the next step, we have removed the elements that we would like to swap and then inserted them back in the list at the exchanged positions.
  3. After this, we have initialized the list whose elements we would like to swap.
  4. We have then displayed the original list and specified the index values.
  5. Finally, we have passed these values inside our function and on execution the desired output is displayed.

Finally, we shall see how a tuple variable can be used to swap the elements of a list in Python.

Using a Tuple Variable

The program given below shows how it can be done,

Output:

The values inside the list are:  [20, 13, 41, 11, 10, 29]
The list with swapped elements is:  [20, 10, 41, 11, 13, 29]

Explanation-

Let's see what happened here,

  1. We have created a function that takes three parameters, list whose elements we would like to swap and a & b which are the indexes of elements.
  2. In the next step, we have used a tuple variable to store the elements present at positions a and b and then unpacked them as b and a in the list to obtain the resultant list with the swapped elements.
  3. After this, we have initialized the list whose elements we would like to swap.
  4. We have then displayed the original list and specified the index values.
  5. Finally, we have passed these values inside our function and on execution, the desired output is displayed.

Conclusion

In this tutorial, we learned what swapping is and how it can be implemented among the elements of a list present in Python.


How do you change the position of an element in a list Python?

Change the position of an element in a List in Python #.
Use the list. remove() method to remove the element from the list..
Use the list. insert() method to insert the value at a specific position into the list..

How do you swap items in a list in Python?

To swap two list elements x and y by value, get the index of their first occurrences using the list. index(x) and list. index(y) methods and assign the result to variables i and j , respectively. Then apply the multiple assignment expression lst[i], lst[j] = lst[j], lst[i] to swap the elements.

How do you switch three elements in a list in Python?

Swap Elements of a List in Python.
Use the Assignment Operator to Swap Elements of a List in Python..
Use the Third Variable to Swap Elements of a List in Python..
Use the pop() Function to Swap Elements of a List in Python..