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.
It accepts a position and an element and inserts the element at given position in the list.
Lets see an example,
Suppose we have a list of strings i.e.
Now let insert why at 3rd position in the list i.e.
# 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.
Advertisements
So, list contents will be now,
Inserts an element at beginning of list
To insert the element at the front of above list, call insert[] function i.e.
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.
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.
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.
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']
Advertisements