Skip to content
Related Articles

Related Articles

Python program to swap two elements in a list
  • Difficulty Level : Easy
  • Last Updated : 20 Apr, 2020

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.




# Python3 program to swap elements
# at given positions
  
# 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))

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.




# Python3 program to swap elements
# at given positions
  
# 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))

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.




# Python3 program to swap elements at
# given positions
  
# 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 Code
List = [23, 65, 19, 90]
  
pos1, pos2  = 1, 3
print(swapPositions(List, pos1-1, pos2-1))

Output:

[19, 65, 23, 90]

Approach #4 : Using comma assignment




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

Output:

[19, 65, 23, 90]

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course

My Personal Notes arrow_drop_up
Recommended Articles
Page :