Skip to main content
 首页 » 编程设计

python之使用 bool 列表从另一个列表中检索元素之Python

2025年05月04日33zhoujg

我有这种情况:

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]