我有我的清单:
>>> labels = ['setosa', 'setosa', 'versicolor', 'versicolor', 'virginica']
我想创建一个新列表,其中True
索引上的'setosa'
和其他位置False
的元素数量相同。
我试过这样的
>>> b = 'setosa' in labels
>>> b
True
我想要一个包含5个元素的列表:
[True, True, False, False, False]
答案 0 :(得分:9)
只需使用列表理解:
lst = [label == "setosa" for label in labels]
答案 1 :(得分:2)
您可以使用map
,它在Python 2中返回list
:
>>> labels = ['setosa', 'setosa', 'versicolor', 'versicolor', 'virginica']
>>> map('setosa'.__eq__, labels)
[True, True, False, False, False]
在Python 3中,如果你需要一个列表:
>>> list(map('setosa'.__eq__, labels))
[True, True, False, False, False]
答案 2 :(得分:0)
您可以使用.append()
功能:
new_list = []
for element in labels: new_list.append('setosa' == element)