我目前正在尝试解决leetcode上的“问题349-两个数组的交集”,并试图返回它们交集的数组。我的目标是创建两个单独的集合,它们接受每个数组的值,因为我需要唯一的值。
我不知道现在应该如何迭代这两个集合以返回匹配的元素并返回它。这是我的代码,我有一个问题,它告诉我 bool object is not iterable
这是有道理的:
class Solution:
def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:
set1 = set()
set2 = set()
newList = []
for i in nums1:
set1.add(i)
for j in nums2:
set2.add(j)
for i in set1 and j in set2:
if (set1(i) == set2(j)):
newList.append[i]
return newList
2条答案
按热度按时间bnl4lu3b1#
你可以使用
&
(设置交点)操作符。或者使用非运算符方法
intersection
与运算符相反,它也将iterable(不一定是集合)作为其参数。如有必要,转换为列表。
就你而言:
sigwle7e2#
使用一套
intersection
方法。这可以缩短为
不需要手动迭代列表来创建集合。
set
接受iterable作为参数,因此使用列表是可以的。