ID : 280

viewed : 179

Tags : PythonPython List

100

A combination is a technique that determines the number of possible arrangements in a collection of elements. In a combination of elements, the elements are selected in an arbitrary order.

In this tutorial, we will find the total combinations of a list’s elements in Python.

`itertools.combinations()`

Function to Find the Combinations of a List in PythonThe function `combinations(list_name, x)`

from the `itertools`

module takes the list name and a number x as the parameters and returns a list of tuples each of length x containing all the possible combinations of one element in the list with the other elements.

For example,

`from itertools import combinations A = [10, 5, 'Hi'] temp = combinations(A, 2) for i in list(temp): print (i) `

Output:

`(10, 5) (10, 'Hi') (5, 'Hi') `

A sorted list will output the combination tuples in sorted order. A combination of one element in the list with itself is not possible using the `combinations()`

function.

`itertools.combinations_with_replacement()`

Function to Find the Combinations of a List in PythonThe function `combinations_with_replacement(list_name, x)`

from the `itertools`

module takes the list name and a number ‘x’ as the parameters and returns a list of tuples each of length ‘x’ containing all possible combinations of the list’s elements. A combination of one element in the list with itself is possible using this function.

For example,

`from itertools import combinations_with_replacement A = [1, 5, 'Hi'] temp = combinations_with_replacement(A, 2) for i in list(temp): print (i) `

Output:

`(1, 1) (1, 5) (1, 'Hi') (5, 5) (5, 'Hi') ('Hi', 'Hi') `

`powerset()`

Function to Find the Combinations of a List in PythonIn mathematics, a power set of any set is a set which contains all the possible subsets of a given set along with an empty set. Power set of set `S = {2, 5, 10}`

is `{{}, {2}, {5}, {10}, {2, 5}, {2, 10}, {5, 10}, {2, 5, 10}}`

. The following function `powerset()`

is used to loop through all the lengths ‘r’ of the list and print all the possible combinations of the list’s elements.

For example,

`from itertools import chain, combinations def powerset(list_name): s = list(list_name) return chain.from_iterable(combinations(s, r) for r in range(len(s)+1)) A = [60, 7, 'Hi'] for x in powerset(A): print(x) `

Output:

`() (1,) (5,) ('Hi',) (1, 5) (1, 'Hi') (5, 'Hi') (1, 5, 'Hi') `