In this article we will discuss how to insert an element in list at specific position.
Inserting an element in list at specific index using list.insert()
In python list provides a member function insert() i.e.
list.insert(position, element)
It accepts a position and an element and inserts the element at given position in the list.
Let’s see an example,
Suppose we have a list of strings i.e.
# List of string list1 = ['Hi' , 'hello', 'at', 'this', 'there', 'from']
Now let insert ‘why’ at 3rd position in the list i.e.
Frequently Asked:
# Add an element at 3rd position in the list list1.insert(3, 'why')
Index will start from 0 in list. So, element will be inserted at 3rd position i.e. after 0,1 & 2.
So, list contents will be now,
['Hi', 'hello', 'at', 'why', 'this', 'there', 'from']
Inserts an element at beginning of list
To insert the element at the front of above list, call insert() function i.e.
# Add an element at the front of list list1.insert(0, 'city')
So, list contents will be now,
['city', 'Hi', 'hello', 'at', 'why', 'this', 'there', 'from']
Insert all elements of another list at specific index in given list
Suppose we have two lists i.e.
list1 = ['city', 'Hi', 'hello', 'at', 'why', 'this', 'there', 'from'] list2 = [3,5,7,1]
Now Insert all the elements of list2 at 3rd position in list1
Method 1:
Iterate over list2 in reverse and keep on inserting element at 3rd index in list1 using list.insert() i.e.
# Insert all the elements in list2 to list1 between 3 to 4 th element for elem in reversed(list2) : list1.insert(3, elem)
Method 2:
Splice list1 from 0 to 2 and merge all elements of list2 in it. Then merge all the remaining elements of list from 3 to end i.e.
# Insert all the elements in list2 to list1 between 3 to 4 th element list1 = list1[:3] + list2 + list1[3:]
In both cases lists content will be now,
['city', 'Hi', 'hello', 3, 5, 7, 1, 'at', 'why', 'this', 'there', 'from']
Complete example is as follows,
''' Inserting all elements of list1 at specific index in other list ''' def main(): # List of string list1 = ['Hi' , 'hello', 'at', 'this', 'there', 'from'] # Print the List print(list1) # Add an element at 3rd position in the list list1.insert(3, 'why') # Print the List print(list1) # Add an element at the front of list list1.insert(0, 'city') # Print the List print(list1) list2 = [3,5,7,1] # Insert all the elements in list2 to list1 between 3 to 4 th element for elem in reversed(list2) : list1.insert(3, elem) # Print the List print(list1) # List of string list1 = ['Hi' , 'hello', 'at', 'this', 'there', 'from'] # Insert all the elements in list2 to list1 between 3 to 4 th element list1 = list1[:3] + list2 + list1[3:] # Print the List print(list1) if __name__ == '__main__': main()
Output:
['Hi', 'hello', 'at', 'this', 'there', 'from'] ['Hi', 'hello', 'at', 'why', 'this', 'there', 'from'] ['city', 'Hi', 'hello', 'at', 'why', 'this', 'there', 'from'] ['city', 'Hi', 'hello', 3, 5, 7, 1, 'at', 'why', 'this', 'there', 'from'] ['Hi', 'hello', 'at', 3, 5, 7, 1, 'this', 'there', 'from']