How to filter a list of strings based on list of booleans in Python

2 Answers

0 votes
from itertools import compress 

lst = ['java 14', 'python 3', 'php 7', 'python 4', 'php 8', 'php 9', 'java 13'] 
lstBool = [True, False, True, True, False, False, True] 
  
lst = list(compress(lst, lstBool)) 
  
print(lst) 
     


        
'''
run:
 
['java 14', 'php 7', 'python 4', 'java 13']
        
'''

 



answered May 1, 2020 by avibootz
0 votes
from itertools import compress 

lst = ['java 14', 'python 3', 'php 7', 'python 4', 'php 8', 'php 9', 'java 13'] 
lstBool = [True, False, True, True, False, False, True] 
  
lst = [i for (i, e) in zip(lst, lstBool) if e]
  
print(lst) 
     


        
'''
run:
 
['java 14', 'php 7', 'python 4', 'java 13']
        
'''

 



answered May 1, 2020 by avibootz

Related questions

...