Given 3 digits a, b, and c. The task is to find all the possible combinations from these digits.
Examples:
Input: [1, 2, 3] Output: 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 Input: [0, 9, 5] Output: 0 9 5 0 5 9 9 0 5 9 5 0 5 0 9 5 9 0
Method 1: Brute force or Naive approach
The naive approach is to run 3 loops from 0 to 3 and print all the numbers from the list if the indexes are not equal to each other.
Example:
Python3
# Python program to print all # the possible combinations   def comb(L):           for i in range ( 3 ):         for j in range ( 3 ):             for k in range ( 3 ):                                   # check if the indexes are not                 # same                 if (i! = j and j! = k and i! = k):                     print (L[i], L[j], L[k])                       # Driver Code comb([ 1 , 2 , 3 ]) |
Output:
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1
Method 2: Using itertools.permutations()
This method takes a list as an input and returns an object list of tuples that contain all permutation in a list form.
Example:
Python3
# Python program to print all # the possible combinations   from itertools import permutations   # Get all combination of [1, 2, 3] # of length 3 comb = permutations([ 1 , 2 , 3 ], 3 )   for i in comb:     print (i) |
Output:
(1, 2, 3) (1, 3, 2) (2, 1, 3) (2, 3, 1) (3, 1, 2) (3, 2, 1)