Выполнение логики или операции с несколькими списками в Python - PullRequest
0 голосов
/ 29 сентября 2018

У меня есть список, содержащий некоторое количество подсписков.

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

Я хочу выполнить логический или один из этих подсписков в Python, но количество подсписков неизвестно.Для двух списков я могу сделать numpy.logical_or, но как я могу сделать это для нескольких подсписков?

1 Ответ

0 голосов
/ 29 сентября 2018

zip и понимание списка может работать, по сути, выполняя операцию сокращения:

def or_list(l):
    res = [False] * len(l[0])
    return [[x or y for x, y in zip(e, res)] for e in l][-1]


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

print(or_list(list1))

Вывод:

[True, False, True, True]

Попробуйте это .

...