在Python中的列表理解中的两个列表之间进行布尔检查的快速方法?

问题描述

除了拆分列表并并行运行之外,还有谁知道更快的方法吗?

我有2个具有T / F值的列表。我正在尝试计算:

list3 = [False if l1[i] == False and l2[i] == False else True for i in range(len(l1))]

谢谢

解决方法

不使用其他模块:

这将产生与您相同的输出,并且每次迭代的比较次数较少(如果列表具有更多elements(10).Value值):

True

编辑:

Mandera建议的答案似乎比上述here更快。

list3 = [l1[i] or l2[i] for i in range(len(l1))]

感谢您提出建议。

,

使用numpy.logical_or()

import numpy
list3 = numpy.logical_or(list1,list2)