Python program to interchange first and last elements in a list
Given a list, write a Python program to swap first and last element of the list.
Examples:
Input : [12, 35, 9, 56, 24] Output : [24, 35, 9, 56, 12] Input : [1, 2, 3] Output : [3, 2, 1]
Approach #1: Find the length of the list and simply swap the first element with (n-1)th element.
Python3
# Python3 program to swap first # and last element of a list # Swap function def swapList(newList): size = len (newList) # Swapping temp = newList[ 0 ] newList[ 0 ] = newList[size - 1 ] newList[size - 1 ] = temp return newList # Driver code newList = [ 12 , 35 , 9 , 56 , 24 ] print (swapList(newList)) |
Output:
[24, 35, 9, 56, 12]
Approach #2: The last element of the list can be referred as list[-1]. Therefore, we can simply swap list[0] with list[-1].
Python3
# Python3 program to swap first # and last element of a list # Swap function def swapList(newList): newList[ 0 ], newList[ - 1 ] = newList[ - 1 ], newList[ 0 ] return newList # Driver code newList = [ 12 , 35 , 9 , 56 , 24 ] print (swapList(newList)) |
Output:
[24, 35, 9, 56, 12]
Time Complexity: O(1)
Auxiliary Space: O(n), where n is length of list
Approach #3: Swap the first and last element is using tuple variable. Store the first and last element as a pair in a tuple variable, say get, and unpack those elements with first and last element in that list. Now, the First and last values in that list are swapped.
Python3
# Python3 program to swap first # and last element of a list # Swap function def swapList( list ): # Storing the first and last element # as a pair in a tuple variable get get = list [ - 1 ], list [ 0 ] # unpacking those elements list [ 0 ], list [ - 1 ] = get return list # Driver code newList = [ 12 , 35 , 9 , 56 , 24 ] print (swapList(newList)) |
Output:
[24, 35, 9, 56, 12]
Approach #4: Using * operand.
This operand proposes a change to iterable unpacking syntax, allowing to specify a “catch-all” name which will be assigned a list of all items not assigned to a “regular” name.
Python3
# Python3 program to illustrate # the usage of * operand list = [ 1 , 2 , 3 , 4 ] a, * b, c = list print (a) print (b) print (c) |
Output:
1 [2, 3] 4
Now let’s see the implementation of above approach:
Python3
# Python3 program to swap first # and last element of a list # Swap function def swapList( list ): start, * middle, end = list list = [end, * middle, start] return list # Driver code newList = [ 12 , 35 , 9 , 56 , 24 ] print (swapList(newList)) |
Output:
[24, 35, 9, 56, 12]
Approach #5: Swap the first and last elements is to use the inbuilt function list.pop(). Pop the first element and store it in a variable. Similarly, pop the last element and store it in another variable. Now insert the two popped element at each other’s original position.
Python3
# Python3 program to swap first # and last element of a list # Swap function def swapList( list ): first = list .pop( 0 ) last = list .pop( - 1 ) list .insert( 0 , last) list .append(first) return list # Driver code newList = [ 12 , 35 , 9 , 56 , 24 ] print (swapList(newList)) |
Output:
[24, 35, 9, 56, 12]
Please Login to comment...