Python program to interchange first and last elements in a list

• Difficulty Level : Easy
• Last Updated : 05 Mar, 2023

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 functiondef swapList(newList):    size = len(newList)         # Swapping    temp = newList[0]    newList[0] = newList[size - 1]    newList[size - 1] = temp         return newList     # Driver codenewList = [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 functiondef swapList(newList):         newList[0], newList[-1] = newList[-1], newList[0]     return newList     # Driver codenewList = [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 functiondef 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 codenewList = [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 * operandlist = [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 functiondef swapList(list):         start, *middle, end = list    list = [end, *middle, start]         return list     # Driver codenewList = [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 functiondef swapList(list):         first = list.pop(0)      last = list.pop(-1)         list.insert(0, last)     list.append(first)           return list     # Driver codenewList = [12, 35, 9, 56, 24] print(swapList(newList))

Output:

[24, 35, 9, 56, 12]

My Personal Notes arrow_drop_up