當前代碼非常短。如果我正確理解「in」函數,那麼不應該for循環迭代並返回True,如果[1,3]都在[1,4,5]中?現在,我的所有測試都成功了。我覺得有一個簡單的解決辦法,我只是不知道。無法使用「in」功能檢查另一個陣列的遏制
我試着把if語句放在for和return行之間,但是它仍然只返回true。
def innerOuter(arr1, arr2):
for arr1 in arr2:
return True
return False
當前代碼非常短。如果我正確理解「in」函數,那麼不應該for循環迭代並返回True,如果[1,3]都在[1,4,5]中?現在,我的所有測試都成功了。我覺得有一個簡單的解決辦法,我只是不知道。無法使用「in」功能檢查另一個陣列的遏制
我試着把if語句放在for和return行之間,但是它仍然只返回true。
def innerOuter(arr1, arr2):
for arr1 in arr2:
return True
return False
你必須使用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()
檢查它
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)
這工作。我不熟悉「不」作爲語法。謝謝 – grilam14