def filter_rec(fn, elems):
    results = []

    for elem in elems:
        if isinstance(elem, list):
            result = filter_rec(fn, elem)
            if result:
                results.append(result)
        elif fn is None:
            if elem:
                results.append(elem)
        elif fn(elem):
            results.append(elem)

    return results

print(filter_rec(lambda x: x >= 2, [1, [2, 0, 4], 3, 0, 5]))

Embed on website

To embed this program on your website, copy the following code and paste it into your website's HTML: