Python compare two lists
In this post, you will learn different ways to compare two lists using the Python programming language. Generally, in the development process, we come to a situation where we need to compare the data items in a list. Comparison is the strategy for checking the data items of a list against balance with the data items of another list.
Compare two lists using list.sort() and == operator
We can compare two lists using the sort() method in combination with the == operator. We first sort the lists for the purpose to check that if both the lists are the same, then they have elements at a similar position. Here is a simple example-
# initializing lists
list_one = [11, 30, 21, 39, 31]
list_two = [39, 21, 11, 31, 30]
# printing lists
print ("The first list is : " + str(list_one))
print ("The second list is : " + str(list_two))
# sorting both the lists
list_one.sort()
list_two.sort()
if list_one == list_two:
print ("The lists are identical")
else :
print ("The lists are not identical")
Output of the above code-
The first list is : [11, 30, 21, 39, 31]
The second list is : [39, 21, 11, 31, 30]
The lists are identical
Python compare two lists using collections.Counter()
Python Counter class is part of the Collections module. It is a subclass of Dictionary. It stores elements as dictionary keys, and their counts are stored as dictionary values. By using this, we can get the frequency of each element in a list and check if two lists are identical or not.
import collections
# initializing lists
list_one = [11, 42, 23, 30, 51]
list_two = [23, 11, 51, 30, 42]
# printing lists
print ("The first list is : " + str(list_one))
print ("The second list is : " + str(list_two))
if collections.Counter(list_one) == collections.Counter(list_two):
print ("The lists are identical")
else :
print ("The lists are not identical")
Output of the above code-
The first list is : [11, 30, 21, 39, 31]
The second list is : [39, 21, 11, 31, 30]
The lists are identical
Python compare two lists using set() function and == operator
The set() function creates a set object. This function controls the list into the set without dealing with the order of elements. Furthermore, we utilise the equivalent to operator (==) for comparison of the data items in the list. The following example demonstrates this-
import collections
# initializing lists
list_one = [11, 42, 23, 30, 51]
list_two = [23, 11, 51, 30, 42]
# printing lists
print ("The first list is : " + str(list_one))
print ("The second list is : " + str(list_two))
if set(list_one) == set(list_two):
print ("The lists are identical")
else :
print ("The lists are not identical")
Output of the above code -
The first list is : [11, 42, 23, 30, 51]
The second list is : [23, 11, 51, 30, 42]
The lists are identical
Python compare two lists using reduce() and map()
Python offers a function called reduce() that allows you to reduce a list in a more concise way. The map() function applies the specified function to every item of the passed iterable, yields the results, and returns an iterator. We can use both methods in combination to compare two lists. The map() function would apply the function to every iterable object, and the reduce() function would take care of that, applying in a recursive manner. The following example demonstrates this-
import functools
list1 = [13, 20, 32, 41, 28]
list2 = [13, 20, 32, 41, 28]
if functools.reduce(lambda x, y: x and y,
map(lambda a, b: a == b, list1, list2), True):
print("The list1 and list2 are the same")
else:
print("The list1 and list2 are not the same")
Output of the above code-
The list1 and list2 are the same
Related Articles
Convert array to list Python
Python loop through list
Difference between tuple and list in Python
Convert string to list Python
Remove last element from list Python
Convert list to string Python
Convert Python list to numpy array
Remove element from list Python
Python dict inside list
Check if list is empty Python
Python iterate list with index
Python iterate list with index
Python split string by comma
Printing Simple Diamond Pattern in Python
Stemming and Lemmatization in Python
Python | Generate QR Code using pyqrcode module