我正在尝试编写一个 Python 3 递归函数,它会告诉我一个整数是否在嵌套列表中。我不确定True如果在列表False中找到它并且在列表中找不到它,我如何让我的代码返回。当我打印我的 for 循环的结果时,我得到了一堆
false
false
false
false
true
false
false
false
等等。但是,它返回 False,因为最后一次调用是 false,即使我希望它返回 true。我怎样才能解决这个问题?
这是我的代码:
def nestedListContains(NL, target):    
    if( isinstance(NL, int) ):
        return NL    
    for i in range(0, len(NL)):
       return ( nestedListContains(NL[i], target) == target )
    return False
这就是我所说的
print(nestedListContains([[3], [4,5,7], [[[8]]]], 8))
编辑:这似乎对我有用,但似乎相当贫民窟:
def nestedListContains(NL, target):    
    if( isinstance(NL, int) ):
        if( NL == target ):
            return 1
        return 0
    x = 0
    for n in NL:
        x += nestedListContains(n, target) == 1        
    return x != 0