Python 在新列表中获取true或false的列表条件

Python 在新列表中获取true或false的列表条件,python,Python,我有我的清单: >>> labels = ['setosa', 'setosa', 'versicolor', 'versicolor', 'virginica'] 我想创建一个新的列表,在'setosa'索引上使用与True相同数量的元素,在别处使用False元素 我试过这样做 >>> b = 'setosa' in labels >>> b True 我想要一个包含5个元素的列表: [True, True, False, False,

我有我的清单:

>>> labels = ['setosa', 'setosa', 'versicolor', 'versicolor', 'virginica']
我想创建一个新的列表,在
'setosa'
索引上使用与
True
相同数量的元素,在别处使用
False
元素

我试过这样做

>>> b = 'setosa' in labels
>>> b
True
我想要一个包含5个元素的列表:

[True, True, False, False, False]

只需使用列表:

lst = [label == "setosa" for label in labels]

您可以使用
.append()
函数:

new_list = []

for element in labels: new_list.append('setosa' == element)
您可以使用,它在Python 2中返回一个
列表

>>> labels = ['setosa', 'setosa', 'versicolor', 'versicolor', 'virginica']
>>> map('setosa'.__eq__, labels)
[True, True, False, False, False]
在Python 3中,如果需要列表:


抱歉@peterwoodb因为它比较短,每个看到它的人都会投票
>>> list(map('setosa'.__eq__, labels))
[True, True, False, False, False]