介绍
使用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怎么计算两个数组的交集