Sometimes, while working with Python list, we have a problem in which we need to add a complete list to another. The rear end addition to list has been discussed before. But sometimes, we need to perform an append at beginning of list. Let’s discuss certain ways in which this task can be performed.
Method #1 : Using “+” operator The “+” operator can be used to perform this particular task. In this, we just perform the addition of one list before other and construct a new list or perform the addition to same list.
Python3
# Python3 code to demonstrate working of # Adding list at beginning of list # initialize list test_list = [ 1 , 4 , 5 , 7 , 6 ] # initialize add list add_list = [ 3 , 4 , 2 , 10 ] # printing original list print ( "The original list is : " + str (test_list)) # printing add list print ( "The add list is : " + str (add_list)) # Adding list at beginning of list test_list = add_list + test_list # printing result print ( "The original updated list is : " + str (test_list)) |
The original list is : [1, 4, 5, 7, 6] The add list is : [3, 4, 2, 10] The original updated list is : [3, 4, 2, 10, 1, 4, 5, 7, 6]
Time Complexity: O(n), where n is the length of the list test_list
Auxiliary Space: O(n) additional space of size n is created where n is the number of elements in the add_list
Method #2 : Using deque.extendleft() + reversed() This task can also be performed using combination of above methods. In this, we just convert the list into a dequeue, to allow a front append, and then one by one addition is done by extendleft(), the add list is reversed so that addition take place in correct order using reversed().
Python3
# Python3 code to demonstrate working of # Adding list at beginning of list # using deque.extendleft() + reversed() from collections import deque # initialize list test_list = [ 1 , 4 , 5 , 7 , 6 ] # initialize add list add_list = [ 3 , 4 , 2 , 10 ] # printing original list print ( "The original list is : " + str (test_list)) # printing add list print ( "The add list is : " + str (add_list)) # Adding list at beginning of list # using deque.extendleft() + reversed() res = deque(test_list) res.extendleft( reversed (add_list)) # printing result print ( "The original updated list is : " + str ( list (res))) |
The original list is : [1, 4, 5, 7, 6] The add list is : [3, 4, 2, 10] The original updated list is : [3, 4, 2, 10, 1, 4, 5, 7, 6]
Time Complexity: O(n*n), where n is the length of the list test_list
Auxiliary Space: O(n) additional space of size n is created where n is the number of elements in the res list
Method #3 : Using extend() method
Python3
# Python3 code to demonstrate working of # Adding list at beginning of list # using "+" operator # initialize list test_list = [ 1 , 4 , 5 , 7 , 6 ] # initialize add list add_list = [ 3 , 4 , 2 , 10 ] # printing original list print ( "The original list is : " + str (test_list)) # printing add list print ( "The add list is : " + str (add_list)) add_list.extend(test_list) test_list = add_list # printing result print ( "The original updated list is : " + str (test_list)) |
The original list is : [1, 4, 5, 7, 6] The add list is : [3, 4, 2, 10] The original updated list is : [3, 4, 2, 10, 1, 4, 5, 7, 6]
Time Complexity: O(n*n), where n is the length of the list test_list
Auxiliary Space: O(n) additional space of size n is created where n is the number of elements in the list
Method #4 : Using append() method
Approach
- Initiate a for loop to traverse test_list
- Append each element to add_list
- Display add_list
Python3
# Python3 code to demonstrate working of # Adding list at beginning of list # using "+" operator # initialize list test_list = [ 1 , 4 , 5 , 7 , 6 ] # initialize add list add_list = [ 3 , 4 , 2 , 10 ] # printing original list print ( "The original list is : " + str (test_list)) # printing add list print ( "The add list is : " + str (add_list)) for i in test_list: add_list.append(i) # printing result print ( "The original updated list is : " + str (add_list)) |
The original list is : [1, 4, 5, 7, 6] The add list is : [3, 4, 2, 10] The original updated list is : [3, 4, 2, 10, 1, 4, 5, 7, 6]
Method #5 : Using insert() method
Approach
- Initiate a for loop to traverse test_list
- Insert each element to add_list using index
- Display add_list
Python
# Python3 code to demonstrate working of # Adding list at beginning of list # using insert # initialize list test_list = [ 1 , 4 , 5 , 7 , 6 ] # initialize add list add_list = [ 3 , 4 , 2 , 10 ] # printing original list print ( "The original list is : " + str (test_list)) # printing add list print ( "The add list is : " + str (add_list)) for i,j in enumerate (test_list): add_list.insert(i,j) # printing result print ( "The original updated list is : " + str (add_list)) |
The original list is : [1, 4, 5, 7, 6] The add list is : [3, 4, 2, 10] The original updated list is : [1, 4, 5, 7, 6, 3, 4, 2, 10]
Time Complexity: O(N) N length of the list
Auxiliary Space: O(M) M length of add_list