Итак, нам необходимо вывести все вариации n элементов в некотором списке. Будем считать комбинации вида [a, b, c] и [c, b, a] одинаковыми.
С этой задачей справится модуль itertools и его функция combinations:
>>> import itertools >>> digits = [2,5,8,0] >>> list(itertools.combinations(digits, 3)) # получаем возможные комбинации [(2, 5, 8), (2, 5, 0), (2, 8, 0), (5, 8, 0)] >>> len(list(itertools.combinations(digits, 3))) # получаем количество комбинаций 4