Python itertools.combission () module for printing all possible combinations

Python Methods and Functions

Examples:

 Input: arr [] = [1, 2, 3, 4], r = 2 Output: [[1, 2], [1, 3], [1, 4] ], [2, 3], [2, 4], [3, 4]] 

This problem has a recursive solution. See size n . We'll solve this problem in python with using the itertools.combination () module.

What does itertools.combination () do?

It returns r subsequences of elements from input iterations. Combinations are presented in lexicographic sorting order. Thus, if the input iterable is sorted, the combined tuples will be created in sorted order.

  • itertools.combination (iterable, r):
    It returns r-length tuples in sorted order with no duplicate elements. For example, combinations (& # 39; ABCD & # 39 ;, 2) == & gt; [AB, AC, AD, BC, BD, CD].
  • itertools.combination_with_replacement (iterable, r):
    It returns r-length tuples in sorted order with repeating elements. For example, combinations_with_replacement (& # 39; ABCD & # 39 ;, 2) == & gt; [AA, AB, AC, AD, BB, BC, BD, CC, CD, DD].
  • # A function that returns a subset or length of r from n

    from itertools import combinations

     

    def rSubset (arr, r):

     

    # return a list of all subsets of length r

    # to work with duplicate subsets

    # set (list (combinations (arr, r)))

    return   list (combinations (arr, r))

     
    # Driver function

    if __name__ = = "__ main__" :

    arr = [ 1 , 2 , 3 , 4 ]

    r = 2

      print rSubset ( arr, r)

    Output:

 [[1, 2], [1, 3], [1, 4], [2, 3], [2, 4], [3, 4]] 

This article courtesy of Shashank Mishra (Gullu) . If you are as Python.Engineering and would like to contribute, you can also write an article using contribute.python.engineering or by posting an article contribute @ python.engineering. See my article appearing on the Python.Engineering homepage and help other geeks.

Please post comments if you find anything wrong or if you'd like to share more information on the topic discussed above.





Tutorials