Я пытаюсь решить проблему комбинаций (nCr). У меня есть следующие цифры [1,2,3,4]
. Код должен создать все возможные комбинации (4C2): (1,2), (1,3), (1,4), (2,3), (2,4), (3,4)
. Вот код:
import itertools
from math import factorial
def calc_combin(n, r):
return factorial(n) // factorial(r) // factorial(n-r)
lines=calc_combin(4,2) #4C2
b_list = list(range(1,5))
combinations = itertools.combinations(b_list,2)
c_list=[]
for i_c in range(0,lines):
c_list.append([])
for c in combinations:
c #tuple that has all the combinations
c_listi = list(c) #converting tuple "c" to list "c_listi"
print(c_listi)
Это вывод:
[1, 2]
[1, 3]
[1, 4]
[2, 3]
[2, 4]
[3, 4]
Теперь я хочу, чтобы выходные значения сохранялись вне для l oop. без перезаписи предыдущих значений.
Есть ли способ извлечь все элементы кортежа (c
) вне for-l oop? Если нет, то как вы извлекаете его из списка переменных (c_listi
) вне for-l oop?