How to subtract two lists in Python

In this tutorial, you’ll learn How to Subtract two lists in Python. Before performing list subtraction, keep in mind that both lists should be of the same length and all the elements should be of the same datatype.

For instance, suppose you have two lists and you want to perform a subtraction between these two lists i.e.,

Input list 1 = [7,6,2,4,-2,8,9]
Input list 2 = [2,9,-3,0,9,5,6]

Output:
Result = [7,6,2,4,-2,8,9] - [2,9,-3,0,9,5,6]
       = [5,-3,5,4,-11,3,3]

Some of the common ways to subtract two lists in Python are listed below.

  • Subtracting two lists using Zip() Function.
  • Subtracting two lists using list comprehension.
  • Subtracting two lists using Numpy Array.

subtract two lists using Zip() Function

In this method, we’ll pass the two input lists to the Zip Function. Then, iterate over the zip object using for loop. On every iteration, the program will take an element from list1 and list2, subtract them and append the result into another list.

Example 1:

# Create and initialize two lists

list1 = [9,1,3,7]
list2 = [4,4,5,6]

#initialize a variable which will store the difference of two lists
result = []


for i, j in zip(list1,list2):

    result.append(i - j)

print(result)

OUTPUT:

[5, -3, -2, 1]

perform subtraction using List Comprehension

Another way to subtract two lists is by using list comprehension. For this, you need to traverse over the lists and perform subtraction one by one all elements as shown in the code snippet below.

#create and initialize two lists

list1 = [9,1,3]

list2 = [4,4,5]

#perform subtraction and store the result in "difference"

difference = [List1[i]-List2[i] for i in range(min(len(list1), len(List2)))]

#print the difference of two lists

print(difference)

Output:

[5, -3, -2]

difference of two lists USING numpy array

The previous two methods require traversal over the whole list. One of the simplest methods is to convert the two lists into an array. Here, np.array() function converts two lists into arrays and then uses subtract operator.

#create and initialize two lists

list1 = [2,3,9,-4,7]

list2 = [4,-1,5,3,8]

#convert the two lists into arrays and store the difference

difference = np.array(list1)-np.array(list2)

#print the difference of two lists

print(difference)

Output:

[-2  4  4 -7 -1]

If you have any queries regarding this article, contact us. Your feedback matters a lot. See more Python Tutorials

Leave a Comment

Your email address will not be published. Required fields are marked *