This is a good place to use one of python's asterisk functions (*args, **kwargs), which will allow you to pass 3 or 300000 lists.
    a = [True, False, True]
    b = [False, False, True]
    c = [True, True, False]
    data_lists = [a,b,c]
Here you use * to expand that list as arguments, zip to rearrange your data into columns (as lists), and any to check if any cell in that column is True.
    [any(l) for l in zip(*data_lists)]
    [True, True, True]
If you're working with a lot of lists it's the same, e.g.
    import numpy as np
    data_lists =  [[True if (i == j) else False for i in range(7)] for j in range(7)]
    np.matrix(data_lists)
    matrix([[ True, False, False, False, False, False, False],
            [False,  True, False, False, False, False, False],
            [False, False,  True, False, False, False, False],
            [False, False, False,  True, False, False, False],
            [False, False, False, False,  True, False, False],
            [False, False, False, False, False,  True, False],
            [False, False, False, False, False, False,  True]])
    [any(l) for l in zip(*data_lists)]
    [True, True, True, True, True, True, True]