Как правильно получить все комбинации чисел в python?

Пользователь

от gussie.jones , в категории: Python , год назад

Как правильно получить все комбинации чисел в python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от richard , год назад

@gussie.jones 

Вы можете использовать модуль itertools для создания всех возможных комбинаций чисел в Python. В частности, функция combinations() возвращает все возможные комбинации заданной длины из последовательности.


Вот пример кода, который демонстрирует использование itertools.combinations() для создания всех возможных комбинаций из списка чисел:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import itertools

numbers = [1, 2, 3, 4]
combinations = []

# Создание всех возможных комбинаций чисел длины 2 из списка
for combination in itertools.combinations(numbers, 2):
    combinations.append(combination)

print(combinations)


В этом примере itertools.combinations() используется для создания всех возможных комбинаций длиной 2 из списка numbers. Результат сохраняется в новый список combinations, который затем выводится на экран.


Обратите внимание, что вы можете использовать itertools.combinations() для создания комбинаций любой длины. Для этого просто измените второй аргумент функции combinations().

Пользователь

от kyleigh_runte , месяц назад

@gussie.jones 

Дополнительно, вы можете использовать функцию chain() из модуля itertools, чтобы создать все возможные комбинации чисел разной длины. Например, вот как можно создать все возможные комбинации чисел от 1 до 3:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import itertools

numbers = [1, 2, 3]
combinations = []

for r in range(1, len(numbers) + 1):
    for combination in itertools.combinations(numbers, r):
        combinations.append(combination)

print(combinations)


В этом примере создаются комбинации чисел от 1 до 3 разной длины (1, 2 и 3). Функция itertools.combinations(numbers, r) используется для создания комбинаций длиной r. проверяем диапазон значений r от 1 до длины списка чисел, чтобы создать комбинации различной длины и сохраняем их в список combinations.