Я написал рекурсивную функцию, которая создает комбинации всех возможных результатов данных nx3, где n является переменной
структура точки данных
[name_of_variable cluster_number уникальность_условие]
from collections import defaultdict
x= [[1,1,'a'],[2,1,'b'],[3,1,'c'],[4,2,'c'],[5,2,'d'],[6,2,'a'],[7,3,'a'],[8,3,'d']]
c=defaultdict(list)
for i in x:
c[i[1]]+=[i]
w=list()
def rec_cal(i,lis):
if i in c.keys():
for j in c[i]:
lis.append(j[0])
rec_cal(i+1,lis)
lis.pop()
else:
global w
w.append(lis)##print(lis)
rec_cal(1,[])
Я пытаюсь сохранить все сгенерированные 3 пары в w, но в конце я получаю пустой список, где я ошибаюсь, любая помощь будет оценена
p.s. Если напишите print (lis) вместо w.append (lis), все правильные списки будут напечатаны.