擅长:python、mysql、java
<p>我的方法类似于@Ahmad Faiyaz</p>
<pre><code>from collections import defaultdict
x= [[1,1,'gdp'],[2,1,'hpi'],[3,1,'fdi'],[4,2,'fdi'],[5,2,'export'],[6,2,'gdp'],[7,3,'gdp'],[8,3,'export']]
c=defaultdict(list)
for i in x:
c[i[1]]+=[i]
def rec_cal(i,clus,lis):
if i in c.keys():
for j in c[i]:
if j[2] not in clus:
clus.append(j[2])
lis.append(j[0])
rec_cal(i+1,clus,lis)
clus.pop()
lis.pop()
else:
continue
else:
print(lis)
rec_cal(1,[],[])
</code></pre>
<p>你得到的输出是</p>
^{pr2}$
<p>该方法首先在字典的帮助下构建一个集群集合,然后递归地通过考虑子组的集群来创建最终输出。现在我只需打印它,但你可以很容易地捕捉到它</p>