Как сгенерировать следующий список списков из чисел? В общем такая ситуация. Есть список чисел, допустим:five_group = [3, 5, 13, 18, 20] Нужно сгенерировать список всех комбинаций 5 чисел из 25, в каждой из которых присутствует хотя бы одно из чисел с five_group. В итоге должен получиться список типа такого:LIST = [[1, 2, 3, 4, 5], [1, 2, 3, 4, 6], ........................., [20, 22, 23, 24, 25]] Я могу сгенерировать список списков из всех комбинаций с помощьюCOMBINATIONS = [list(i) for i in itertools.combinations(range(1, 26), 5)] Но как из него убрать комбинации в которых нет чисел из five_group?
Вы можете использовать функцию filter() для отфильтровывания комбинаций, в которых отсутствуют числа из five_group. Вот пример кода:
import itertools five_group = [3, 5, 13, 18, 20] COMBINATIONS = [list(i) for i in itertools.combinations(range(1, 26), 5)] filtered_combinations = list(filter(lambda x: any(num in five_group for num in x), COMBINATIONS)) print(filtered_combinations)
Этот код создаст список filtered_combinations, в котором будут только те комбинации, в которых есть хотя бы одно число из five_group.
Вы можете использовать функцию filter() для отфильтровывания комбинаций, в которых отсутствуют числа из five_group. Вот пример кода:
import itertoolsfive_group = [3, 5, 13, 18, 20]
COMBINATIONS = [list(i) for i in itertools.combinations(range(1, 26), 5)]
filtered_combinations = list(filter(lambda x: any(num in five_group for num in x), COMBINATIONS))
print(filtered_combinations)
Этот код создаст список filtered_combinations, в котором будут только те комбинации, в которых есть хотя бы одно число из five_group.