# Python program to interchange first and last elements in a list

• Difficulty Level : Easy
• Last Updated : 10 Aug, 2022

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 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]`

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]`

My Personal Notes arrow_drop_up