Skip to content
Related Articles

Related Articles

Python – Itertools.compress()
  • Last Updated : 19 Feb, 2020

Python’s Itertool is a module that provides various functions that work on iterators to produce complex iterators. This module works as a fast, memory-efficient tool that is used either by themselves or in combination to form iterator algebra.

Note: For more information, refer to Python Itertools

Compress()

The itertools.compress() falls under the category of terminating iterators. It means that these iterators are used to work on the short input sequences and produce the output based on the functionality of the method used.

Compress(): This iterator selectively picks the values to print from the passed container according to the boolean list value passed as other arguments. The arguments corresponding to boolean true are printed else all are skipped.

In this, we give two parameters to the function. The first parameter will the iterator and the second parameter will be a selector either True/1 or False/0. If the first parameter’s corresponding selector is True, then the corresponding data will be printed and we will get the output accordingly.



Syntax:

compress(iter, selector)

Example 1 :




# Python code to demonstrate the working of   
# compress() 
  
  
import itertools
import operator
  
  
Codes =['C', 'C++', 'Java', 'Python']
selectors = [False, False, False, True]
  
Best_Programming = itertools.compress(Codes, selectors)
  
for each in Best_Programming:
    print(each)


Output:

Python

In the above code, in the Codes list, we have stored four variables and in the selectors’ list, we have four boolean values. When we use the itertools.compress() then the value False is assigned to ‘C’, False to ‘C++’, False to ‘Java’ and True to ‘Python’. Now while iterating through the loop we will get the output to which the value True is assigned. So, we get only “Python” while iterating ‘Best Programming’.

Example 2 :




# Python code to demonstrate the working of   
# compress() 
  
  
  
import itertools
import operator
  
  
example = itertools.compress('ABCDE', [1, 0, 1, 0, 0])
  
for each in example:
    print(each)


Output:

A
C

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :