Python program to swap two elements in a list

Given a list in Python and provided the positions of the elements, write a program to swap the two elements in the list.

Examples:

Input : List = [23, 65, 19, 90], pos1 = 1, pos2 = 3
Output : [19, 65, 23, 90]

Input : List = [1, 2, 3, 4, 5], pos1 = 2, pos2 = 5
Output : [1, 5, 3, 4, 2]

Approach #1: Simple swap

Since the positions of the elements are known, we can simply swap the positions of the elements.

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 program to swap elements
# at given postions
  
# Swap function
def swapPositions(list, pos1, pos2):
      
    list[pos1], list[pos2] = list[pos2], list[pos1]
    return list
  
# Driver function
List = [23, 65, 19, 90]
pos1, pos2  = 1, 3
  
print(swapPositions(List, pos1-1, pos2-1))

chevron_right


Output:



[19, 65, 23, 90]

 
Approach #2 : Using Inbuilt list.pop() function

Pop the element at pos1 and store it in a variable. Similarly, pop the element at pos2 and store it in another variable. Now insert the two popped element at each other’s original position.

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 program to swap elements
# at given postions
  
# Swap function
def swapPositions(list, pos1, pos2):
      
    # popping both the elements from list
    first_ele = list.pop(pos1)   
    second_ele = list.pop(pos2-1)
     
    # inserting in each others positions
    list.insert(pos1, second_ele)  
    list.insert(pos2, first_ele)  
      
    return list
  
# Driver function
List = [23, 65, 19, 90]
pos1, pos2  = 1, 3
  
print(swapPositions(List, pos1-1, pos2-1))

chevron_right


Output:

[19, 65, 23, 90]

 
Approach #3 : Using tuple variable

Store the element at pos1 and pos2 as a pair in a tuple variable, say get. Unpack those elements with pos2 and pos1 positions in that list. Now, both the positions in that list are swapped.

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 program to swap elpositions at given postions
  
# Swap function
def swapPositions(list, pos1, pos2):
  
    # Storing the two elements
    # as a pair in a tuple variable get
    get = list[pos1], list[pos2]
       
    # unpacking those elements
    list[pos2], list[pos1] = get
       
    return list
  
# Driver function
List = [23, 65, 19, 90]
  
pos1, pos2  = 1, 3
print(swapPositions(List, pos1-1, pos2-1))

chevron_right


Output:

[19, 65, 23, 90]


My Personal Notes arrow_drop_up


If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.