我编写了一个递归函数,它创建 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,[])
我试图将所有生成的 3 对存储在 w 中,但最后我得到一个空列表,我哪里出错了,任何帮助将不胜感激
ps 如果写 print(lis) 而不是 w.append(lis) 打印所有正确的列表。
温温酱
慕娘9325324
相关分类