Python程序查找两个数组中的共同元素
数组是一种数据结构,由相同数据类型的元素集合组成,每个元素由索引标识。
整数2、4、0、5、8是数组元素,0、1、2、3、4是数组元素的相应索引值。
以下文章中,我们将讨论Python程序,以查找两个数组之间的共同元素。
输入输出方案
假设我们有两个数组A和B。结果数组具有两个数组之间的共同元素。
元素2、3、5是两个输入数组之间的共同元素。
Python没有一个本地的数组数据结构来表示数组,而是可以使用List作为数组。让我们看看找到共同元素的多种方法。
使用List comprehension
在Python中,List comprehension提供了最短的语法来构建一个列表,而不需要初始化一个空列表来附加每个迭代的值。
示例
在下面的示例中,我们将使用列表理解来定义公共元素。
输出
最初,使用for循环迭代数组a的所有元素,并验证每个元素是否存在于数组b中。最后,所有共同元素都存储在结果数组中。
使用Set
在两个数组中查找公共元素与查找两个集合的交集非常相似。通过使用Python集合数据结构和属性,我们可以很容易地识别两个数组中的公共元素。
示例
最初,我们将把列表a和b转换为集合,然后在两个集合之间应用交集属性“&”,以获取公共元素。
输出
对于此示例,2、3、5是公共元素。
示例
让我们来另一个示例,找到公共元素。
输出
如果找不到共同元素,则“&”属性将返回空集。
使用NumPy
numpy.intersect1d()方法用于查找两个数组之间的共同元素。intersect1d()方法使用两个数组作为参数,并返回一个包含所有公共元素的数组。
语法
它找到两个数组的交集,并返回同时出现在输入数组中的排序的唯一值。
示例
在这个示例中,我们将使用numpy.array()方法创建两个numpy数组,然后应用numpy.intersect1d()方法。
输出
从上面的输出可以看到,共同的元素为1、3。