In Order to check if two lists or identical or not we need to check if two unordered lists have similar elements in the exact similar position. You might need this in your day-to-day programming. Go through the tutorial over here and determine if two lists are equal or not in Python easily.
We have mentioned the various techniques for finding if a list is the same as the Another or Not along with sample programs. Use them as a guide for resolving your doubts if any on Comparing Two Lists and finding whether they are identical or not. You can also find difference between two lists python by going through our other tutorials.
- List – Definition
- Examples for Checking if Two Lists are Equal or Not
- How to Compare if Two Lists are Identical or Not?
- Method #1: Using sorting()
- Method #2: Using Counter() function
- Method #3: Using np.array_equal()
- Method #4: Using ‘=’ Operator
- Method #5: Using reduce() +map()
List – Definition
Multiple items may be stored in a single variable using lists. Square brackets[] are used to create a list. Lists are one of four built-in Python storage types for storing sets of data; the other three are Tuple, Set, and Dictionary, all of which have different qualities and applications.
Examples for Checking if Two Lists are Equal or Not
Comparing lists irrespective of the order of lists:
Input:
firstlist = ['hello', 'this', 'is', 'BTechGeeks'] secondlist = ['this', 'is', 'BTechGeeks','hello']
Output:
Both lists are equal
Input:
firstlist = ['hello', 'this', 'is', 'BTechGeeks','is'] secondlist = ['this', 'is', 'BTechGeeks','hello','the']
Output:
Both lists are not equal
Comparing list based on the order of lists:
Input:
firstlist = ['this' ,'is','BTechGeeks'] secondlist = ['this' ,'is','BTechGeeks']
Output:
Both lists are equal
Input:
firstlist = ['hello', 'this' ,'is','BTechGeeks'] secondlist = ['this' ,'is','BTechGeeks']
Output:
Both lists are not equal
How to Compare if Two Lists are Identical or Not?
There are several ways to check if two lists are equal or not. We have outlined some of them so that you can choose the method that you are comfortable with and determine if the two lists are equal or not. They are explained in the following way
- Using sorting()
- Using Counter() function
- Using np.array_equal()
- Using ‘=’ Operator
- Using reduce() +map()
Check lists irrespective of order of elements
Method #1: Using sorting()
We start by sorting the list so that if both lists are similar, the elements are in the same place. However, this ignores the order of the elements in the list. So, by comparing sorting versions of lists, we can determine whether or not they are equal.
Below is the implementation:
# function to check both lists if they are equal def checkList(firstlist, secondlist): # sorting the lists firstlist.sort() secondlist.sort() # if both the lists are equal the print yes if(firstlist == secondlist): print("Both lists are equal") else: print("Both lists are not equal") # Driver code # given two lists firstlist = ['hello', 'this', 'is', 'BTechGeeks'] secondlist = ['this', 'is', 'BTechGeeks','hello'] # passing both the lists to checklist function checkList(firstlist, secondlist)
Output:
Both lists are not equal
Method #2: Using Counter() function
We can normally get the frequency of each variable in a list using Counter(), and we can search for it in both lists to see whether they are similar or not. However, this approach disregards the order of the elements in the list and only considers the frequency of the elements.
Below is the implementation:
# importing counter function from collections from collections import Counter # function to check both lists if they are equal def checkList(firstlist, secondlist): # Getting frequencies of both lists firstfreq = Counter(firstlist) secondfreq = Counter(secondlist) # if both the lists are equal the print yes if(firstfreq == secondfreq): print("Both lists are equal") else: print("Both lists are not equal") # Driver code # given two lists firstlist = ['hello', 'this', 'is', 'BTechGeeks'] secondlist = ['this', 'is', 'BTechGeeks','hello'] # passing both the lists to checklist function checkList(firstlist, secondlist)
Output:
Both lists are not equal
Method #3: Using np.array_equal()
From our lists, we can generate two sorted numpy arrays, which we can compare using numpy.array equal() to see if they contain the same elements.
Below is the implementation:
# importing numpy import numpy # function to check both lists if they are equal def checkList(firstlist, secondlist): # Convert both lists to sorted numpy arrays and compare them to see if they're equal. if(numpy.array_equal(numpy.array(firstlist).sort(), numpy.array(secondlist).sort())): print("Both lists are equal") else: print("Both lists are not equal") # Driver code # given two lists firstlist = ['hello', 'this', 'is', 'BTechGeeks'] secondlist = ['this', 'is', 'BTechGeeks','hello'] # passing both the lists to checklist function checkList(firstlist, secondlist)
Output:
Both lists are not equal
Checking lists based on of order of elements
Method #4: Using ‘=’ Operator
The == operator can be used to compare two lists directly. If both lists are exactly identical, it will return True; otherwise, it will return False.
Below is the implementation:
# function to check if both the lists are same def checkList(firstlist, secondlist): # if both the lists are equal the print yes if(firstlist == secondlist): print("Both lists are equal") else: print("Both lists are not equal") # Driver code # given two lists firstlist = ['hello', 'this', 'is', 'BTechGeeks'] secondlist = ['hello', 'this', 'is', 'BTechGeeks'] # passing both the lists to checklist function checkList(firstlist, secondlist)
Output:
Both lists are not equal
Method #5: Using reduce() +map()
We can accomplish this task of checking for the equality of two lists by carefully coupling the power of map() to hash values and the utility of reduce(). This also takes into account the list’s order.
Below is the implementation:
# importing reduce from functools from functools import reduce # function to check if both the lists are same def checkList(firstlist, secondlist): # if both the lists are equal the print yes if(reduce(lambda a, b: a and b, map(lambda x, y: x == y, firstlist, secondlist))): print("Both lists are equal") else: print("Both lists are not equal") # Driver code # given two lists firstlist = ['hello', 'this', 'is', 'BTechGeeks'] secondlist = ['hello', 'this', 'is', 'BTechGeeks'] # passing both the lists to checklist function checkList(firstlist, secondlist)
Output:
Both lists are not equal