Add Elements of Two Lists in Python
Adding corresponding elements of two lists can be useful in various situations such as processing sensor data, combining multiple sets of results, or performing element-wise operations in scientific computing. List Comprehension allows us to perform the addition in one line of code. It provides us a way to write for loop in a list.
# Input lists
a = [1, 3, 4, 6, 8]
b = [4, 5, 6, 2, 10]
# Add corresponding elements using list comprehension
c = [a[i] + b[i] for i in range(len(a))]
# Print the result
print(c)
Output
[5, 8, 10, 8, 18]
Other methods that we can use to add elements of two lists in python are:
Using zip() Function
zip() function zip() combines two or more iterables element by element that makes it easy to iterate over corresponding elements. It returns a tuple, which we can sum.
# Input lists
a = [1, 3, 4, 6, 8]
b = [4, 5, 6, 2, 10]
# Add corresponding elements using zip() and list comprehension
c = [x + y for x, y in zip(a, b)]
# Print the result
print(c)
Output
[5, 8, 10, 8, 18]
Using map() Function
map() function applies a given function to each item of an iterable (like a list) and returns a map object. We can use this to add corresponding elements of two lists.
# Input lists
a = [1, 3, 4, 6, 8]
b = [4, 5, 6, 2, 10]
# Use map to add corresponding elements of both lists
c = list(map(lambda x, y: x + y, a, b))
# Print the result
print(c)
Output
[5, 8, 10, 8, 18]
Using numpy Library
If we need to handle large lists or perform more complex operations, the numpy library can be helpful. It provides a fast way to perform element-wise operations on arrays.
# Import numpy library
import numpy as np
# Input lists
a = [1, 3, 4, 6, 8]
b = [4, 5, 6, 2, 10]
# Convert lists to numpy arrays and add them
c = np.add(a, b)
# Print the result
print(c)
Output
[ 5 8 10 8 18]
Using a Simple for Loop
The most basic way to add corresponding elements is by using a simple for loop. This method is easy to understand for beginners.
# Input lists
a = [1, 3, 4, 6, 8]
b = [4, 5, 6, 2, 10]
# Create an empty list to store the result
c = []
# Loop through both lists and add corresponding elements
for i in range(len(a)):
c.append(a[i] + b[i])
# Print the result
print(c)
Output
[5, 8, 10, 8, 18]