Python程序:检查两个数组是否相等
有几种技术可以帮助我们检查给定的数组是否相等。比较数组的大小不取决于元素的下标,它只会比较一个数组中的特定元素是否存在于另一个数组中。让我们讨论几种比较两个数组并检查它们是否相等的技术。
有几种技术可以帮助我们检查给定的数组是否相等。比较数组的大小不取决于元素的下标,它只会比较一个数组中的特定元素是否存在于另一个数组中。让我们讨论几种比较两个数组并检查它们是否相等的技术。
输入输出场景
考虑下面给出的两个数组 −
arr1=[1,3,5,7,9,2,4,6,8,10]
arr2=[3, 5, 4, 7, 1, 2, 6, 9, 8,10]
现在,让我们检查并验证arr1的每个元素是否存在于arr2中。
- arr1的第一个元素是1(检查1是否存在于arr2中)。
-
元素1也存在于arr2中。因此,移动到arr1中的下一个元素。
-
第二个元素是3。该元素也存在于第二个数组中。
-
所以,移动到下一个元素5。元素5也存在于arr2中。移到arr1中的下一个元素,即7。
-
在第4个位置中,元素7也存在于arr2中。移动到下一个元素9。元素9也存在于arr2中。
同样的,检查arr1中的所有元素是否存在于arr2中。如果第一个数组中的元素存在于第二个数组中,并且在arr2中没有其他元素,则可以得出结论:给定的两个数组是相等的。
注意 - 数组的相等不是根据数组特定索引中出现的元素,而是元素的存在性是必须的。
使用numpy模块
all()方法属于Numpy模块。该方法有助于检查和验证给定的数组是否相等。用于检查它们之间平等的运算符是。
all()方法使用一个参数,即要评估的数组。如果数组的任何元素评估为false,则整体结果将为false;否则,它将返回true。我们可以将其与运算符“”一起使用来比较两个数组并判断它们是否相等。
示例
在以下示例中,我们将比较给定的数组,并使用all()方法和运算符检查它们的相等性。必须按照描述下面的步骤来构建期望的程序。
- 导入numpy模块以访问其方法和属性。
-
声明要比较并检查其相等性的两个数组。
-
将这些数组转换为numpy数组以执行numpy操作。
-
使用等号运算符“”以及all()方法对数组进行清晰比较。
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(" 是的!给定的数组相等。")
else:
print(" 给定的数组不相等。")
输出
上面程序的输出如下所示 −
给定的数组不相等。
使用排序技术
排序技术也可用于检查是否相等。最初,可以使用一个排序技术来对给定的数组进行排序。然后,可以通过考虑它们各自的索引来比较一个数组中的元素与另一个数组中的元素,因为它们已经按排序顺序排列。
如果第一个数组中第一个索引上的元素也在第二个数组中的第一个索引上,则取第二个索引上的元素。这个过程一直持续到达到最后一个索引。
示例
在以下示例中,我们将比较给定的数组并通过排序数组来检查它们的相等性。
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. ")
输出
上述程序的输出如下−
The given arrays are not equal.