class Edge:
    def __init__(self, u, v, weight):
        self.u = u
        self.v = v
        self.weight = weight

    def __str__(self):
        return f"({self.u},{self.v},{self.weight})"
        
    def __lt__(self, other):
        return self.weight <= other.weight
        
    def __eq__(self, other):
        self.weight == other.weight

edges = [
    Edge(1, 5, 4),
    Edge(1, 2, 2),
    Edge(1, 4, 1),
    Edge(2, 1, 2),
    Edge(2, 4, 3),
    Edge(2, 3, 3),
    Edge(2, 6, 7),
    Edge(3, 2, 3),
    Edge(3, 6, 8),
    Edge(3, 4, 5),
    Edge(4, 1, 1),
    Edge(4, 2, 3),
    Edge(4, 3, 5),
    Edge(4, 5, 9),
    Edge(5, 1, 4),
    Edge(5, 4, 9),
    Edge(6, 2, 7),
    Edge(6, 3, 8)
]
n = len(edges)
# 7 vertices (1 ==> 6)

r = range(1, 7)
tree_id = {i: i for i in r}
res = []
edges.sort(key=lambda e:e.weight)
cost = 0

for edge in edges:
    if tree_id[edge.u] != tree_id[edge.v]:
        cost += edge.weight
        res.append(edge)
        old_id, new_id = tree_id[edge.u], tree_id[edge.v]
        for i in r:
            if tree_id[i] == old_id:
                tree_id[i] = new_id
print('\n'.join(map(str, res)))

Embed on website

To embed this program on your website, copy the following code and paste it into your website's HTML: