我想弄清楚是否有一种方法可以通过 Python 3 中的比较来获取逻辑列表。 基本上我要输入的是这个
x = [1, 2, 3, 4, 5, 6, 7, 8, 9]
xlist = 4 <= x
我想要输出的是一个看起来像这样的列表
xlist = [False, False, False, True, True, True, True, True, True]
有没有办法在不使用列表理解的情况下简单地做到这一点
xlist = [4 <= i for i in x]
对于更大的列表,有什么可以更有效的吗?
请您参考如下方法:
列表理解确实没有错。这正是列表推导式的设计目的。
如果您使用的是 NumPy(或 SciPy),您正在寻找的语法确实有效:
from numpy import array
...
x = array([1,2,3,4,5,6,7,8,9])
xlist = 4<=x
但是,如果您还没有充分的理由使用 NumPy,那么仅仅为了该语法而引入它是不值得的。无论如何,想一想我不确定 NumPy 是否可以在 Python 3 中工作。
