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。
7 也存在于 arr2 的第 4 位。移动到下一个元素 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(" 是的!!给定的数组相等。 ") else: print(" 给定的数组不相等。 ")
输出
上述程序的输出如下 −
给定的数组不相等。