tee(iterable [ ]creates independent iterators from iterable the created iterators are returned as an -tuple the default value of is this function works with any iterable object howeverin order to clone the original iteratorthe items produced are cached and used in all the newly created iterators great care should be taken not to use the original iterator iterable after tee(has been called otherwisethe caching mechanism may not work correctly examples the following examples illustrate how some of the functions in the itertools module operatefrom itertools import iterate over the numbers , , , , , in an endless cycle for in cycle(chain(range( ),range( , ,- )))print create list of unique items in [ , , , , , , , , , , sort( [ for , in groupby( ) [ , , , , , iterate over all possible combinations of pairs of values from and [ , , , , [ , , for in product( , )print(rproduces output ( , ),( , ),( , )( , ),( , ),( , operator the operator module provides functions that access the built-in operators and special methods of the interpreter described in "types and objects for exampleadd( is the same as for operations that also have an in-place versionyou can use function such as iadd( ,ywhich is the same as + the following list shows functions defined in the operator module and how they are mapped onto various operatorsfunction description add(absub(abmul(abdiv(abfloordiv(abtruediv(abmod(abneg(apos(aabs(ainv( )invert(areturns for numbers returns returns for numbers returns (old divisionreturns / returns (new divisionreturns returns - returns + returns the absolute value of returns the inverse of continues lib fl ff