我编写了一个递归函数,它创建了nx3数据的所有可能结果的组合,其中n是可变的
数据点的结构[name_of_variable cluster_number uniqueness_condition]
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,[])
我试图在w中存储所有生成的3对但最后我得到一个空列表,我在哪里出错任何帮助将不胜感激
附:如果写print(list)而不是w.append(list),则打印所有正确的列表。