Page cover image

Permutation and combination

Permutation and combination

Permutation and combination are commonly used content in statistics.

It can be easily implemented in python through libraries.

Combination

import itertools
print( itertools.combinations(['tom',2,3,4], 3) )
print( list(itertools.combinations(['tom',2,3,4], 3)) )

get the following result

<itertools.combinations object at 0x000001BB837F6630>

[('tom', 2, 3), ('tom', 2, 4), ('tom', 3, 4), (2, 3, 4)]
>>> 

The result obtained with itertools can only see the address header position of the result.

If we convert the result to a list we can see the result.

The meaning of the above code is: regardless of the order, select three from ['tom', 2, 3, 4] without repetition

Implementing composition requires some specific algorithms, which we will explain in the leetcode section later.

Permutation

import itertools
print( itertools.permutations(['tom',2,3,4], 3) )
print( list(itertools.permutations(['tom',2,3,4], 3)) )

get the following result

<itertools.permutations object at 0x00000213DE0766D0>

[('tom', 2, 3), ('tom', 2, 4), ('tom', 3, 2), ('tom', 3, 4), 
('tom', 4, 2), ('tom', 4, 3), (2, 'tom', 3), (2, 'tom', 4), 
(2, 3, 'tom'), (2, 3, 4), (2, 4, 'tom'), (2, 4, 3), (3, 'tom', 2), 
(3, 'tom', 4), (3, 2, 'tom'), (3, 2, 4), (3, 4, 'tom'), (3, 4, 2), 
(4, 'tom', 2), (4, 'tom', 3), (4, 2, 'tom'), (4, 2, 3), (4, 3, 'tom'), 
(4, 3, 2)]
>>> 

The meaning of the above code is: consider the order, select three from ['tom', 2, 3, 4] without repetition

Permutation and combination are very useful in statistics and mathematics, such as in the Bernoulli distribution chapter.

Statistics

Start time of this page: January 7, 2022

Completion time of this page: January 9, 2022

Last updated