python で有向ネットワークの三角形の取り出し。

python で有向ネットワークの三角形の取り出し。

test.net

1 2
2 3
3 1
1 5
5 1

import networkx as nx

G=nx.read_edgelist("test.net",create_using=nx.DiGraph());
for i in G.nodes():
     outs=G.successors(i);
     ins=G.predecessors(i);
     for j in outs: 
         for k in ins:
            if G.has_edge(j,k):
                      a=[i,j,k];
                      a.sort();
                    
                      if a[0]==i:
                          print i,j,k
                      if a[0]==j:
                          print j,k,i
                      if a[0]==k;
                          print k,i,j

出力

1 2 3
1 2 3
1 2 3