我有这种情况:
main_list = [12, 10, 30, 10, 11,10, 31]
get_indices = [1, 0, 1, 1, 0, 0, 0]
我想做的是,根据get_indices中的boolean值,从main_list中提取元素。 我尝试了以下但它不起作用:
result = main_list[bool(get_indices)]
print result
10
应该是 12, 30, 10
请您参考如下方法:
我刚遇到最适合这项任务的compress()。 compress() 生成用于高效循环的迭代器。
from itertools import compress
main_list = [12, 10, 30, 10, 11,10, 31]
get_indices = [1, 0, 1, 1, 0, 0, 0]
print list(compress(main_list, get_indices))
[12, 30, 10]
