使用Python3怎么计算两个数组的交集

  介绍

使用Python3怎么计算两个数组的交集?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

<强>问题:

给定两个数组,写一个方法来计算它们的交集。

<强>方案一:强利用<代码> collections.Counter 的<代码>和运算,一步到位,找到最小次数的相同元素。

#, - *安康;编码:utf-8  - * -   # ! python3   def 相交(nums1, nums2):   “才能”;“   :才能type  nums1:,列表(int)   :才能type  nums2:,列表(int)   ,,:rtype:列表(int)   “才能”;“   import 才能集合   ,,,b =,地图(collections.Counter,, (nums1, nums2))   return 才能列表((,a  b) . elements ())   #测试   arr1 =, (1、2、3、4、5)   时间=arr2  [3、4、5、6、7)   print(相交(arr1 arr2)

运行结果:

(3、4、5)

<强>方案二:强遍历其中一个数组,发现相同元素时添加到新列表中,同时删去另一个数组中的一个相同元素

#, - *安康;编码:utf-8  - * -   # ! python3   def 相交(nums1, nums2):   “才能”;“   :才能type  nums1:,列表(int)   :才能type  nums2:,列表(int)   ,,:rtype:列表(int)   “才能”;“   时间=res 才能;[]   for 才能;k  nums1:拷贝   ,,,if  k 拷贝nums2:   ,,,,,res.append (k)   ,,,,,nums2.remove (k)   ,return  res   #测试   arr1 =, (1、2、3、4、5)   时间=arr2  [3、4、5、6、7)   print(相交(arr1 arr2)

运行结果:

(3、4、5)

使用Python3怎么计算两个数组的交集