2024-10-05 12:13:10 发布
网友
当前代码非常短。如果我正确理解了“in”函数,那么如果[1,3]都在[1,4,5]中,for循环不应该只迭代并返回True吗?现在我所有的测试都是真的。我觉得有一个简单的解决办法,我只是不知道。你知道吗
我尝试在for和return行之间放置if语句,但仍然只返回true。你知道吗
def innerOuter(arr1, arr2): for arr1 in arr2: return True return False
当前代码将为arr2中的每个元素返回True,您要查找的是if arr1 in arr2:
if arr1 in arr2:
你必须使用if one_element in array
if one_element in array
def innerOuter(arr1, arr2): for x in arr1: if x not in arr2: return False return True innerOuter([1,3], [1,4,5]) # False innerOuter([1,4], [1,4,5]) # True
或者您可以使用set()来检查它
set()
def innerOuter(arr1, arr2): return set(arr1).issubset(set(arr2)) innerOuter([1,3], [1,4,5]) # False innerOuter([1,4], [1,4,5]) # True
同样的:
def innerOuter(arr1, arr2): return set(arr1) <= set(arr2)
https://docs.python.org/2/library/sets.html#set-objects
当前代码将为arr2中的每个元素返回True,您要查找的是
if arr1 in arr2:
你必须使用
if one_element in array
或者您可以使用
set()
来检查它同样的:
https://docs.python.org/2/library/sets.html#set-objects
相关问题 更多 >
编程相关推荐