![]() |
VOOZH | about |
Sometimes, while working with Python list, we can have a problem in which we need to add a new tuple to existing list. Append at rear is usually easier than addition at front. Let's discuss certain ways in which this task can be performed.
Method #1 : Using insert()
This is one of the way in which the element can be added to front in one-liner. It is used to add any element in front of list. The behaviour is the same for tuple as well.
The original list is : [('is', 2), ('best', 3)]
The tuple after adding is : [('gfg', 1), ('is', 2), ('best', 3)]Time complexity: O(n) where n is the number of elements in the list as we are inserting an element in the front of the list which takes linear time.
Auxiliary Space: O(1) as we are not using any extra data structure and only inserting an element in the existing list.
Method #2 : Using deque() + appendleft()
The combination of above functions can be used to perform this particular task. In this, we just need to convert the list into a deque so that we can perform the append at front using appendleft()
The original list is : [('is', 2), ('best', 3)]
The tuple after adding is : [('gfg', 1), ('is', 2), ('best', 3)]Time complexity: O(1), where n is the length of the list.
Auxiliary space: O(1)
Method #3 : Using extend() method
The original list is : [('is', 2), ('best', 3)]
The tuple after adding is : [('gfg', 1), ('is', 2), ('best', 3)]Time Complexity: O(k), Where k is the length of the list that needs to be added.
Auxiliary Space: O(k)
Method #4: Using the concatenation operator
You can use the + operator to concatenate the list and the tuple, and it will add the tuple to the front of the list.
The original list is : [('is', 2), ('best', 3)]
The tuple after adding is : [('gfg', 1), ('is', 2), ('best', 3)]Time Complexity: O(k), Where k is the length of the list that needs to be added.
Auxiliary Space: O(k)
Method #5 : Using slicing and unpacking
This method creates a new list that consists of the new tuple followed by the existing list, using the * operator to unpack the elements of the existing list.
The original list is : [('is', 2), ('best', 3)]
The tuple after adding is : [('gfg', 1), ('is', 2), ('best', 3)]Time complexity: O(n), where n is the length of the list, because creating a new list using slicing and unpacking requires iterating over all the elements of the existing list.
Auxiliary space: O(n+1), because it creates a new list that is one element longer than the original list. The additional element is the new tuple that is being added to the front of the list.
Method 6: Using list comprehension and the append() method
The original list is : [('is', 2), ('best', 3)]
The tuple after adding is : [('gfg', 1), ('is', 2), ('best', 3)]
The original list is : [('is', 2), ('best', 3)]
The tuple after adding is : [('is', 2), ('best', 3), ('gfg', 1), ('is', 2), ('best', 3)]Time complexity: O(n) for both methods as we need to create a new list and append elements to the existing list.
Auxiliary space: O(n) for the first method and O(2n) for the second method.
Method #7 : Using the unpacking operator (*) and the list() constructor
The original list is : [('is', 2), ('best', 3)]
The tuple after adding is : [('gfg', 1), ('is', 2), ('best', 3)]Time complexity: O(n) (where n is the length of the list)
Auxiliary space: O(n)