【发布时间】:2015-11-06 21:00:04
【问题描述】:
我有一个表格列表:
[True, False, True, True, False, True]
有没有一种有效的方法来获取True(即[0, 2, 3, 5])的索引列表?
【问题讨论】:
我有一个表格列表:
[True, False, True, True, False, True]
有没有一种有效的方法来获取True(即[0, 2, 3, 5])的索引列表?
【问题讨论】:
这是最简单的解决方案
[i for (i, e) in enumerate(mylist) if e]
【讨论】:
>>> l = [True, False, True, True, False, True]
>>> l2 = [i for i,x in enumerate(l) if x]
>>> l2
[0, 2, 3, 5]
enumerate 所做的是创建一个迭代器,生成一个像 indexofitem,item 这样的元组,然后列表推导仅在 x 为真时添加一个项目
【讨论】: