def kruskal(graph): sortedE = [] for lst in graph: for edge in lst: sortedE.append(edge) sortedE.sort(key=lambda e: e.weight) # sort by weight item = GraphNode(6, weighted=True, directed=False) # 6 is # of numbers (?) for edge in sortedE: if not item.contains_cyle(): item.insert(edge.source, edge.dest, edge.weight) return item