Skip to main content
 首页 » 编程设计

python之根据另一个 bool 列表从一个列表中获取元素

2025年05月04日15yyy_WW

我有两个相同大小的列表,一个是字符串列表,另一个是 bool 值列表(True, False),我想返回仅当索引为 True 时的字符串列表。

b_list = [True, False, True] 
s_list = ['abc', 'sfsfsfsf', 'def'] 

想要

s_list = ['abc','def']  

请您参考如下方法:

使用itertools.compress

compress(data, selectors): Return data elements corresponding to true selectors elements

所以 s_list 是数据,b_list 是选择器:

In [8]: import itertools 
 
In [9]: list(itertools.compress(s_list, b_list)) 
Out[9]: ['abc', 'def']