2. permutaties(): Retourneer opeenvolgende r
lengte permutaties van elementen in de iterable. Als r niet is opgegeven of Geen is, dan is r standaard de lengte van de iterable en worden alle mogelijke permutaties van volledige lengte gegenereerd. De permutatietupels worden gegenereerd in lexicografische volgorde volgens de volgorde van de input iterable. Dus, als de input iterable gesorteerd is, zullen de combinatie-tupels in gesorteerde volgorde worden gegenereerd.
Elementen worden als uniek behandeld op basis van hun positie, niet op basis van hun waarde. Dus als de invoerelementen uniek zijn, worden de waarden in elke permutatie niet herhaald.
itertools.permutations(iterable,r=None)
Note:In permutaties is de volgorde van de elementen van belang.
3. combinaties(): Return r
lengte subsequenties van elementen uit de input iterable.
De combinatie-tupels worden in lexicografische volgorde uitgegeven, volgens de volgorde van de input iterable. Dus, als de input iterable gesorteerd is, zullen de combinatie tupels worden geproduceerd in gesorteerde volgorde.
Lexicografisch ordenen betekent de manier van het ordenen van woorden in alfabetische volgorde van hun samenstellende letters.
Elementen worden als uniek behandeld op basis van hun positie, niet op basis van hun waarde. Dus als de invoerelementen uniek zijn, zullen er geen herhaalde waarden zijn in elke combinatie.
itertools.combinations(iterable, r)
4. combinaties_met_vervanging(): Return r
lengte opeenvolgingen van elementen uit de invoer iterable waardoor individuele elementen meer dan eens kunnen worden herhaald.
itertools.combinations_with_replacement(iterable, r)
Note: 1. Used as an argument in map() and zip(): count(),repeat() repeat()- supply stream of constant values to map() or zip() function. count()-it will supply different values to map() or zip() function.2.Difference between cycle() and repeat(): cycle()-iterates over the same object again and again repeat()-returns the same object again and again.3.Difference between reduce() and itertools.accumulate(): reduce(): * It will return only the final accumulated value. * First argument should be function and second argument should be iterable. accumulate() * It will return the running accumulated value.The elements in the output iterable will be equal to elements in the input iterable,if initial value is not mentioned. * First argument should be iterable and second argument should be function.4.Difference between filter() and itertools.compress(): * filter()function-filters the given iterable with the help of function that test each element in the iterable is True or not. * compress():filters the given iterable based on the corresponding element in the selector. Iterable containing True /False is given as selector.5.Difference between filter() and itertools.filterfalse(): *filter():Construct an iterator from the elements of iterable for which function returns True. *filterfalse():Construct an iterator from the elements of iterable for which function returns False.6.Difference between zip() and itertools.zip_longest(): *zip():Iteration continues until shortest iterable is exhausted. *zip_longest():Iteration continues until longest iterable is exhausted.7.Difference between list slicing and itertools.islice(): *List slicing creates new list *islice()-Returns an iterator.We can loop through the iterator,in the way we want. 8.Difference between itertools.permutations() and itertools.combinations(): * itertools.permutations():Order of the elements does matters. *itertools.combinations():Order of the elements doesn’t matters. Both combinations and permutations doesn’t repeat values. 9.Difference between itertools.combinations() and itertools.combinations_with_replacement * combinations():Order of element doesn’t matters and doesn’t repeat values. * combinations_with_replacement():Order of element doesn’t matters and it repeats values.10.Difference between itertools.takewhile() and itertools.dropwhile(): * takewhile():Make an iterator that returns element from the iterable as long as the predicate is True. * dropwhile():Make an iterator that drops element from the iterable as long as the predicate is True afterwards returns every element.