Open In App

Python | Adding K to each element in a list of integers

While working with the Python lists, we can come over a situation in which we require to add the integer k to each element in the list. We possibly need to iterate and add k to each element but that would increase the line of code. Let’s discuss certain shorthands to perform this task. 

Method #1: Using List Comprehension List comprehension is just the short way to perform the task we perform using the naive method. This is mainly useful to save time and also is best among others when it comes to the readability of the code. 






# Python3 code to demonstrate
# adding K to each element
# using list comprehension
 
# initializing list
test_list = [4, 5, 6, 3, 9]
 
# printing original list
print("The original list is : " + str(test_list))
 
# initializing K
K = 4
 
# using list comprehension
# adding K to each element
res = [x + K for x in test_list]
 
# printing result
print("The list after adding K to each element : " + str(res))

Output :

The original list is : [4, 5, 6, 3, 9]
The list after adding K to each element : [8, 9, 10, 7, 13]

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 res list 



Method #2: Using map() + lambda map function can be used to pair each element with the lambda function which performs the task of adding K to each element in the list. 




# Python3 code to demonstrate
# adding K to each element
# using map() + lambda
 
# initializing list
test_list = [4, 5, 6, 3, 9]
 
# printing original list
print("The original list is : " + str(test_list))
 
# initializing K
K = 4
 
# using map() + lambda
# adding K to each element
res = list(map(lambda x: x + K, test_list))
 
# printing result
print("The list after adding K to each element : " + str(res))

Output :

The original list is : [4, 5, 6, 3, 9]
The list after adding K to each element : [8, 9, 10, 7, 13]

Method #3 : Using map() + operator.add This is similar to the above function but uses the operator.add to add each element to other element from the other list of K formed before applying the map function. It adds similar index elements of list. 




# Python3 code to demonstrate
# adding K to each element
# using map() + operator.add
import operator
 
# initializing list
test_list = [4, 5, 6, 3, 9]
 
# printing original list
print("The original list is : " + str(test_list))
 
# initializing K list
K_list = [4] * len(test_list)
 
# using map() + operator.add
# adding K to each element
res = list(map(operator.add, test_list, K_list))
 
# printing result
print("The list after adding K to each element : " + str(res))

Output :

The original list is : [4, 5, 6, 3, 9]
The list after adding K to each element : [8, 9, 10, 7, 13]

Method #4: Using zip function

To add two lists, you can use the zip function in combination with a list comprehension.

Here is an example:




list1 = [1, 2, 3]
list2 = [4] * len(list1)
 
result = [x + y for x, y in zip(list1, list2)]
 
print(result)
# This code is contributed by Edula Vinay Kumar Reddy

Output
[5, 6, 7]

Time complexity: O(N)
Auxiliary Space: O(N)

Method #5:Using the built-in list method extend()’

Step-by-step algorithm:

  1. Initialize an empty list “res”.
  2. Iterate through each element x in the “test_list”.
  3. Add K to the current element x and append the result to the “res” list using extend method.
  4. Print the final “res” list.




# initializing list
test_list = [4, 5, 6, 3, 9]
# printing original list
print("The original list is :" + str(test_list))
# initializing K
K = 4
# Using the built-in list method extend:
res = []
res.extend(x + K for x in test_list)
# printing result
print("The list after adding K to each element : " + str(res))

Output
The original list is :[4, 5, 6, 3, 9]
The list after adding K to each element : [8, 9, 10, 7, 13]

Time Complexity: O(n), where n is the length of “test_list”. This is because we need to iterate through each element of the “test_list” once.
Auxiliary Space: O(n), where n is the length of “test_list”. 

Method #6: Using numpy library




# importing numpy library
import numpy as np
 
# initializing list
test_list = [4, 5, 6, 3, 9]
 
# printing original list
print("The original list is : " + str(test_list))
 
# initializing K
K = 4
 
# adding K to each element using numpy library
arr = np.array(test_list)
res = arr + K
res = res.tolist()
 
# printing result
print("The list after adding K to each element : " + str(res))

Output

The original list is :[4, 5, 6, 3, 9]
The list after adding K to each element : [8, 9, 10, 7, 13]

Time Complexity: O(n), where n is the length of the input list.

Auxiliary Space: O(n), where n is the length of the input list. 


Article Tags :