Например, если у вас есть n списков логических значений одинаковой длины, тогда элементарное логическое И должно возвращать другой список этой длины, имеющий значение True в тех позициях, где все входные списки имеют значение True, и False везде, где-либо еще.
Это довольно легко написать, я просто предпочел бы использовать встроенную, если она существует (для стандартизации / читабельности).
Вот реализация поэлементного AND:
def eAnd(*args):
return [all(tuple) for tuple in zip(*args)]
пример использования:
>>> eAnd([True, False, True, False, True], [True, True, False, False, True], [True, True, False, False, True])
[True, False, False, False, True]