Skip to main content
 首页 » 编程设计

python之创建一个包含 bool 值的列表,这些 bool 值表示应用于列表时谓词的结果

2025年05月04日11daizhj

我想弄清楚是否有一种方法可以通过 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 中工作。