Python程序:查找常见数组元素

Python程序:查找常见数组元素

在考虑多维数组作为一个例子时,有一种方法可以查找多维数组中存在的常见元素-intersection_update()

该方法用于查找同质多维数组中存在的常见或交叉元素。接下来考虑一个输入输出场景,然后进行编程。

输入输出场景

考虑一个自然多维数组的二维数组。

arr = [[1, 2, 3, 4], [3, 4, 5, 6], [7, 8, 3, 4], [4, 9, 8, 3], [4, 3, 10, 12]]
  • 上述数组由5个子数组组成。

  • 我们可以清楚地观察到元素“3”和“4”出现在“arr”所有子数组中。

  • 因此,“3”和“4”元素视为2D数组arr的常见元素。

示例

在此示例中,我们将使用intersection_update()方法查找多维数组中存在的常见元素。

  • 考虑一个二维数组,可以从中找到共同的元素。

  • 声明一个参数化方法,该方法可以将2D数组作为参数找到共同元素。

  • 在方法内,通过赋值将0初始化数组集,并将值分配给变量。

  • 使用循环遍历数组的元素。

  • 在遍历时使用intersection_update()方法查找共同元素。

def common_elements(arr):
   result = set(arr[0])
   for x in arr[1:]:
      result.intersection_update(x) 
   return list(result)
# 主代码部分
if __name__ == "__main__":

   arr = [[1, 2, 3, 4], [3, 4, 5, 6], [7, 8, 3, 4], [4, 9, 8, 3], [4, 3, 10, 12]]
   res = common_elements(arr)
   if len(res) > 0:
      print ("数组中的共同元素是: ",res)
   else:
      print ("数组中没有共同元素!")

输出

以上程序的输出如下:

数组中的共同元素是: [3, 4]

查找两个不同数组中的共同元素

可以使用NumPy intersect1d() 方法查找两个一维数组的共同元素。这类似于intersect_update()方法,用于处理多维数组。为了更好地理解这个概念,让我们看一个例子。

输入输出场景

考虑两个一维数组。

arr1 = [1, 2, 3, 4]
arr2 = [3, 4, 5, 6]
  • 我们可以清楚地看到元素“3”和“4”存在于数组arr1和arr2中。

  • 因此,我们可以得出结论,数组arr1和arr2的共同元素是3和4。

示例

在以下示例中,我们将使用numpy模块的intersect1d()方法查找多个一维数组中存在的共同元素。

import numpy as n
arr1 = [1, 2, 3, 4]
print("第一个数组是:")
print(arr1)
arr2 = [3, 4, 5, 6]
print("第二个数组是:")
print(arr2)
narr1 = n.array(arr1)
narr2 = n.array(arr2)
print("给定数组中的共同元素是:")
print(n.intersect1d(narr1, narr2))

输出

以上程序的输出如下:

第一个数组是:
[1, 2, 3, 4]
第二个数组是:
[3, 4, 5, 6]
给定数组中的共同元素是:
[3 4]

这样,根据数组的类型,可以按照相应的步骤进行操作。如果考虑的是多维数组,则将按照第一个程序中的步骤进行操作。

如果考虑的是一维数组,则将按照第二个程序中的步骤进行操作。这就是如何找到一个或多个数组的公共元素。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程