# How to Subtract Two Lists in Python

Lists are the most versatile and dynamic datatypes in Python. We can store different types of data inside a list.

It doesn’t matter if they are numbers, characters, or strings. To initialize a list, we must put all the values inside a square bracket and differentiate each value using a comma.

Elements of a list are known as items. Please note that lists are mutable. We can add, remove, and modify the items anytime in a Python program. Here is an example of a Python list:

```demo_list1 = ['Mark', 'Alex', 1987, 2020]
demo_list2 = [5, 4, 3, 2, 1 ]
demo_list3 = ["x", "y", "z"]```

To print a list in Python, we need to make use of the print() function in Python. Like this:

```print(demo_list1)
```

Now, let’s talk about the main topic of today: How to subtract two lists in Python. We can determine the difference between two lists in Python mainly in two different ways. Let’s get started.

## Using set()

Set is a collection-type object which can store elements of different data types. A set() doesn’t index the values in a particular order. This method converts the lists into the python sets explicitly and then finds the difference between them. Here is a sample program is given for your better understanding.

```def list_diff(my_list1, my_list2):
return (list(set(my_list1) - set(my_list2)))
my_list1 = [10, 16, 21, 26, 31, 36, 41]
my_list2 = [10, 26, 41, 36] print(list_diff(my_list1, my_list2))```

Output: [16, 21, 31]

The set() function accepted the defined two lists in the above program and turned them into sets. Inside the print() function, it just calculated the difference.

## Using a nested for-loop

To calculate the subtract value between two different lists, we can simply use a nested for-loop.

In this method, we’ll compare all the second list items with the first one sequentially, and while traversing, we’ll be appending every non-matching item to a new empty list.

At the end of the program, we’ll simply print the list. Here you go:

```def list_diff(my_list1, my_list2):
out = []
for ele in my_list1:
if not ele in my_list2:
out.append(ele)
return out
my_list1 = [10, 16, 21, 26, 31, 36, 41]
my_list2 = [10, 26, 41, 36]
print(list_diff(my_list1, my_list2))
```

Output: [16, 21, 31]

## Using the list comprehension method

List comprehension is the same method as the nested for-loop. Here, we will replace the for-loop with the list comprehension syntax. For instance,

```def list_diff(my_list1, my_list2):
out = [item for item in my_list1 if not item in my_list2]
return out
my_list1 = [10, 16, 21, 26, 31, 36, 41]
my_list2 = [10, 26, 41, 36]
print(list_diff(my_list1, my_list2))
```

Output: [16, 21, 31]

I hope this tutorial helped you to understand how to subtract two lists in Python!

Happy coding!