Python Program to Check if two arrays are equal


There are several techniques that helps us to check whether the given arrays are equal or not. The comparison of an array will not depend on the indices of the elements, it will only compare whether that particular element in one array is present in the other array or not. Let us discuss few techniques that compares two arrays and checks whether they are equal or not.

There are several techniques that helps us to check whether the given arrays are equal or not. The comparison of an array will not depend on the indices of the elements, it will only compare whether that particular element in one array is present in the other array or not. Let us discuss few techniques that compares two arrays and checks whether they are equal or not.

Input Output Scenarios

Consider two arrays as given below −

arr1 = [1, 3, 5, 7, 9, 2, 4, 6, 8, 10]
arr2 = [3, 5, 4, 7, 1, 2, 6, 9, 8, 10]

Now, let us check and verify whether every element of arr1 is present in the arr2.

  • The first element of arr1 is 1 (Check whether 1 is present in arr2).

  • The element 1 is present in arr2 also. So, move to the next element in arr1.

  • The second element is 3. The element is present in the second array also.

  • So, move to next element 5. The element 5 is also present in the arr2. Move to the next element in arr1, i.e., 7.

  • 7 is also present in the arr2 in the 4th place. Move to next element 9. The element 9 is also present in the arr2.

Similarly, check all the elements in arr1 whether they are present in arr2. If the elements in the first array are present in the second array and no other elements are present in arr2, then we can conclude that the given two arrays are equal.

Note − The equality of arrays is not according to the elements that are present in the particular indices of the arrays but the presence of the elements is mandatory.

Using Numpy Module

The all() method belongs to Numpy module. This method helps to check and verify whether the given arrays are equal or not. An operator that is used to check their equality is ==.

The all() method takes a single argument, which is the array to evaluate. If any element of the array evaluates as false, then the overall result will be false; otherwise, it will return true. We can use this with the operator "==" to compare two arrays and judge whether they are equal or not.

Example

In the following example, we are going to compare the given arrays and check their equality with the help of all() method and == operator. The steps described below must be followed in order to construct the desired program.

  • Import the numpy module to access its methods and attributes.

  • Declare two arrays to compare and check their equality.

  • Convert those arrays into numpy arrays to perform numpy operations.

  • Use equality operator, i.e., == along with the method all() in order to compare the arrays clearly.

import numpy as n
arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
arr2 = [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

narr1 = n.array([arr1])
narr2 = n.array([arr2])

result_variable = (narr1 == narr2).all()

if(result_variable == True):
   print(" Yes!! The given arrays are equal. ")

else:
   print(" The given arrays are not equal. ")

Output

The output of the above program is as follows −

The given arrays are not equal.

Using Sorting Technique

Sorting Technique is used for checking whether the arrays are equal or not also. Initially, the given arrays can be sorted using a sorting technique. Afterwards, the elements in one array can be compared to those in the other by considering their respective indices since they are already in sorted order.

If the element at the first index in the first array is also at the first index in the second array, the element at the second index is taken. This process continues until the last index is reached.

Example

In the following example, we are going to compare the given arrays and check their equality by sorting the arrays.

def equality_check(arr1, arr2, size1, size2):
   if (size1 != size2):
      return False
   arr1.sort()
   arr2.sort()
   for i in range(0, size2):
      if (arr1[i] != arr2[i]):
         return False
   return True

if __name__ == "__main__":
   arr1 = [1, 2, 4, 5, 3]
   arr2 = [6, 9, 7, 10, 8] 
   n = len(arr1)
   m = len(arr2)
   if (equality_check(arr1, arr2, n, m)):
      print(" Yes!! The given arrays are equal. ")
   else:
      print(" The given arrays are not equal. ")

Output

The output of the above program is as follows −

The given arrays are not equal.

Updated on: 05-May-2023

10K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements