Как создать трехсторонний тензор из набора узлов, соединенных ребрами с определенными метками ребер

Неспособность выяснить способ перебора всех ребер и создания тензора смежности для графа с узлами, ребрами и метками ниже. Пожалуйста помоги. Вероятно, вложенный цикл for или операторы if.

class Edge:
    def __init__(self, u, v, label):
        self.origin = u
        self.destination = v
        self.label = label

nodes = ['a', 'b', 'c', 'd', 'f', 'g', 'h']
labels = ['green', 'blue', 'black']

edges = []
edg = Edge(nodes[0], nodes[2], labels[1])
edges.append(edg)
edg = Edge(nodes[0], nodes[3], labels[0])
edges.append(edg)
edg = Edge(nodes[1], nodes[4], labels[1])
edges.append(edg)
edg = Edge(nodes[2], nodes[1], labels[0])
edges.append(edg)
edg = Edge(nodes[2], nodes[5], labels[1])
edges.append(edg)
edg = Edge(nodes[3], nodes[1], labels[1])
edges.append(edg)
edg = Edge(nodes[4], nodes[5], labels[2])
edges.append(edg)
edg = Edge(nodes[6], nodes[3], labels[0])
edges.append(edg)
edg = Edge(nodes[6], nodes[4], labels[2])
edges.append(edg)

0 ответов

Другие вопросы по тегам