Open In App

Python program to interchange first and last elements in a list

Last Updated : 20 Jun, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

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.

Python
# 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].

Python
# 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. 

Python
# 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. 

Python
# 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: 

Python
# 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. 

Python
# 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]

 Approach #6: Using slicing

In this approach, we first check if the list has at least 2 elements.
If the list has at least 2 elements, we swap the first and last elements using slicing by assigning the value of the last element to the first element and the value of the first element to the last element.
We then slice the list from the second element to the second-to-last element and concatenate it with a list containing the first element and the last element in their new positions.

Python
def swap_first_last_3(lst):
    # Check if list has at least 2 elements
    if len(lst) >= 2:
        # Swap the first and last elements using slicing
        lst = lst[-1:] + lst[1:-1] + lst[:1]
    return lst

# Initializing the input
inp=[12, 35, 9, 56, 24]

# Printing the original input
print("The original input is:",inp)

result=swap_first_last_3(inp)

# Printing the result
print("The output after swap first and last is:",result)

Output
The original input is: [12, 35, 9, 56, 24]
The output after swap first and last is: [24, 35, 9, 56, 12]

Time Complexity: O(1)
Space Complexity: O(1)

FAQs – Python program to interchange first and last elements in a list

How do you find the first and last items in a list Python?

To find the first and last items in a list in Python, you can use indexing. The first item in a list has index 0, and the last item has index -1. Here’s how you can do it:

# Sample list
my_list = [1, 2, 3, 4, 5]
# Find the first item
first_item = my_list[0]
# Find the last item
last_item = my_list[-1]

How to switch the first and last characters in a string Python?

To switch the first and last characters in a string in Python, you can use string slicing and concatenation. Here’s how you can do it:

# Sample string
my_string = ""hello""
# Switch first and last characters
new_string = my_string[-1] + my_string[1:-1] + my_string[0]

How to shift elements in a list in Python?

To shift elements in a list in Python, you can use slicing and concatenation. Here’s how you can shift elements to the left by one position:

# Sample list
my_list = [1, 2, 3, 4, 5]
# Shift elements to the left by one position
shifted_list = my_list[1:] + [my_list[0]]

How to move an element to the end of a list in Python?

To move an element to the end of a list in Python, you can use list methods such as pop() and append(). Here’s how you can move the first element to the end of the list:

# Sample list
my_list = [1, 2, 3, 4, 5]# Move the first element to the end
my_list.append(my_list.pop(0))

How to swap characters in a list?

To swap characters in a string in Python, you can convert the string to a list, perform the swap, and then convert the list back to a string. Here’s how you can swap the first and last characters:

# Sample string
my_string = "hello"# Convert string to list
my_list = list(my_string)# Swap first and last characters
my_list[0], my_list[-1] = my_list[-1], my_list[0]# Convert list back to string
new_string = "".join(my_list)


Previous Article
Next Article

Similar Reads

Python Program to Interchange elements of first and last rows in matrix
Given a 4 x 4 matrix, we have to interchange the elements of first and last row and show the resulting matrix. Examples : Input : 3 4 5 0 2 6 1 2 2 7 1 2 2 1 1 2 Output : 2 1 1 2 2 6 1 2 2 7 1 2 3 4 5 0 Input : 9 7 5 1 2 3 4 1 5 6 6 5 1 2 3 1 Output : 1 2 3 1 2 3 4 1 5 6 6 5 9 7 5 1 Method 1:The approach is very simple, we can simply swap the eleme
4 min read
Python Program to Interchange Diagonals of Matrix
Given a square matrix of order n*n, you have to interchange the elements of both diagonals. Examples : Input : matrix[][] = {1, 2, 3, 4, 5, 6, 7, 8, 9} Output : matrix[][] = {3, 2, 1, 4, 5, 6, 9, 8, 7} Input : matrix[][] = {4, 2, 3, 1, 5, 7, 6, 8, 9, 11, 10, 12, 16, 14, 15, 13} Output : matrix[][] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 11, 14, 1
2 min read
Get first and last elements of a list in Python
Sometimes, there might be a need to get the range between which a number lies in the list, for such applications we require to get the first and last element of the list. Let's discuss certain ways to get the first and last element of the Python list. Get the first elements of a list using index Using the list indices inside the master list can per
4 min read
Python | Merge first and last elements separately in a list
Given a list of lists, where each sublist consists of only two elements, write a Python program to merge the first and last element of each sublist separately and finally, output a list of two sub-lists, one containing all first elements and other containing all last elements. Examples: Input : [['x', 'y'], ['a', 'b'], ['m', 'n']] Output : [['x', '
2 min read
Python - Find the distance between first and last even elements in a List
Given a List, write a Python program to find the span of even elements in list, i.e distance between first and last occurrence of even element. Examples: Input : test_list = [1, 3, 7, 4, 7, 2, 9, 1, 10, 11] Output : 5 Explanation : Even elements begin at 4 and end at 10, spanning 5 indices. Input : test_list = [1, 3, 7, 4, 7, 2, 9, 1, 1, 11] Output
5 min read
How to get the first and last elements of Deque in Python?
Deque is a Double Ended Queue which is implemented using the collections module in Python. Let us see how can we get the first and the last value in a Deque. Method 1: Accessing the elements by their index. The deque data structure from the collections module does not have a peek method, but similar results can be achieved by fetching the elements
2 min read
How toGet First and Last Elements from a Tuple in Python
Tuples are immutable sequences in Python that can store a collection of items. Often, we might need to the retrieve the first and last elements from the tuple. In this article, we'll explore how to achieve this using the various methods in Python. Get First and Last Elements from a Tuple Using IndexingWe can use indexing to access the first and las
2 min read
Python Program to swap the First and the Last Character of a string
Given a String. The task is to swap the first and the last character of the string. Examples: Input: GeeksForGeeks Output: seeksForGeekG Input: Python Output: nythoP Python string is immutable which means we cannot modify it directly. But Python has string slicing which makes it very easier to perform string operations and make modifications. Follo
2 min read
Python Program to Find Sum of First and Last Digit
Given a positive integer N(at least contain two digits). The task is to write a Python program to add the first and last digits of the given number N. Examples: Input: N = 1247 Output: 8 Explanation: First digit is 1 and Last digit is 7. So, addition of these two (1 + 7) is equal to 8.Input: N = 73 Output: 10Method 1: String implementationTake inpu
5 min read
Python program to capitalize the first and last character of each word in a string
Given the string, the task is to capitalize the first and last character of each word in a string. Examples: Input: hello world Output: HellO WorlDInput: welcome to geeksforgeeksOutput: WelcomE TO GeeksforgeekSApproach:1 Access the last element using indexing.Capitalize the first word using the title() method.Then join each word using join() method
2 min read