Assigning elements to list is a common problem and many varieties of it have been discussed in the previous articles. This particular article discusses the insertion of range of elements in the list. Let’s discuss certain ways in which this problem can be solved.
Method #1 : Using extend() This can be solved using the extend function in which the insertion of range of numbers can be done on the rear end using the range function.
Python3
# Python3 code to demonstrate # Assigning range of elements to List # using extend() # initializing list test_list = [ 3 , 5 , 6 , 8 ] # printing original list print ( "The original list : " + str (test_list)) # using extend() # Assigning range of elements to List test_list.extend( range ( 6 )) # print result print ( "The list after adding range elements : " + str (test_list)) |
The original list : [3, 5, 6, 8] The list after adding range elements : [3, 5, 6, 8, 0, 1, 2, 3, 4, 5]
Time Complexity: O(n) where m and n is the number of elements in the list. extend performs n number of operations.
Auxiliary Space: O(n), extra space is required where n is the number of elements in the list
Method #2 Using * operator This problem can also be solved using the * operator and with the advantage of flexibility of addition of elements at any position.
Python3
# Python3 code to demonstrate # Assigning range of elements to List # using * operator # initializing list test_list = [ 3 , 5 , 6 , 8 ] # printing original list print ( "The original list : " + str (test_list)) # using * operator # Assigning range of elements to List res = [ 3 , 5 , * range ( 6 ), 6 , 8 ] # print result print ( "The list after adding range elements : " + str (res)) |
The original list : [3, 5, 6, 8] The list after adding range elements : [3, 5, 0, 1, 2, 3, 4, 5, 6, 8]
Time complexity: O(1), since we are just adding a range of elements to the list and the length of the range is fixed.
Auxiliary space: O(1), since we are not creating any additional data structures or variables, and the range is generated on the fly without storing it in memory.
Method #3 Using the list() function:
Assign a range of elements to a list in Python using the list() function, you can follow these steps:
- Initialize a list with the elements that you want to include.
- Use the list() function to create a new list from the range of elements that you want to add.
- Use slice notation to insert the new list at the desired position in the original list.
Python3
# Python3 code to demonstrate # initialize the list test_list = [ 3 , 5 , 6 , 8 ] # print the original list print ( "The original list :" , test_list) # create a new list from the range of elements to be added new_list = list ( range ( 6 )) # use slice notation to insert the new list at the desired position in the original list test_list = test_list[: 2 ] + new_list + test_list[ 2 :] # print the resulting list print ( "The list after adding range elements:" , test_list) # This code is contributed by Edula Vinay Kumar Reddy |
The original list : [3, 5, 6, 8] The list after adding range elements: [3, 5, 0, 1, 2, 3, 4, 5, 6, 8]
Time complexity: O(n)
Auxiliary space: O(n).
Method #4 Using += operator:
Python3
# initializing list test_list = [ 3 , 5 , 6 , 8 ] # printing original list print ( "The original list : " + str (test_list)) # using += operator test_list + = list ( range ( 6 )) # print result print ( "The list after adding range elements : " + str (test_list)) #THis code is contributed by Jyothi pinjala. |
The original list : [3, 5, 6, 8] The list after adding range elements : [3, 5, 6, 8, 0, 1, 2, 3, 4, 5]
Time Complexity: O(N)
Auxiliary Space: O(N)
Method 5: Using the append() method.
This code initializes a list, prints the original list, and then uses a for loop to append the elements in the range 0 to 5 to the list. Finally, it prints the updated list.
Python3
# initializing list test_list = [ 3 , 5 , 6 , 8 ] # printing original list print ( "The original list : " + str (test_list)) # using append() method to add elements for i in range ( 6 ): test_list.append(i) # print result print ( "The list after adding range elements : " + str (test_list)) |
The original list : [3, 5, 6, 8] The list after adding range elements : [3, 5, 6, 8, 0, 1, 2, 3, 4, 5]
Time complexity: O(n), where n is the number of elements being added to the list.
Auxiliary space: O(n)
Method 6: Using the insert() method.
Step-by-step approach:
- The program initializes a list test_list with four integer values.
- It prints the original list using the print() function and string concatenation.
- It creates a new list by using the range() function to generate a sequence of numbers from 0 to 5 and converting it to a list using the list() function.
- It uses the += operator to concatenate the new list to the original list.
- It prints the updated list using the print() function and string concatenation.
Below is the implementation of the above approach:
Python3
# initializing list test_list = [ 3 , 5 , 6 , 8 ] # printing original list print ( "The original list : " + str (test_list)) # using insert() method to add elements for i in range ( 6 ): test_list.insert( len (test_list), i) # print result print ( "The list after adding range elements : " + str (test_list)) |
The original list : [3, 5, 6, 8] The list after adding range elements : [3, 5, 6, 8, 0, 1, 2, 3, 4, 5]
Time complexity: O(n), where n is the length of the list.
Auxiliary space: O(1) because we are modifying the original list in place and not creating any additional data structures.