对 Python 中的多个列表执行逻辑或操作

Performing a logical or operation of multiple lists in Python

我有一个包含一些子列表的列表。

list1=[ [True,False,True,False], [False,False,True,False],[True,False,True,True], .....]

我想对 Python 中的这些子列表执行逻辑或运算,但子列表的数量未知。对于两个列表,我可以做到 numpy.logical_or 但对于多个子列表,我该如何做到?

@Ian 的回答比我原来的回答好。 zip 所有列表按列组合它们的元素,执行转置,并且 运行 每列变成 any:

>>> matrix = [
...     [True, False, True, False],
...     [False, False, True, False],
...     [True, False, True, True],
... ]
>>> [any(column) for column in zip(*matrix)]
[True, False, True, True]

我删除了次优的原始答案。

跟进@ggorlen 的回答

list1 = [ 
    [True,False,True,False], 
    [False,False,True,False],
    [True,False,True,True]
]
[any(l) for l in zip(*list1)]

输出

[True, False, True, True]