У меня есть Graph
класс:
class Graph:
V = set([])
E = {}
def add_vertex(self, u):
self.V.add(u)
self.E[u] = []
def add_edge(self, u, v):
if u not in self.V:
self.add_vertex(u)
if v not in self.V:
self.add_vertex(v)
self.E[u].append(v)
self.E[v].append(u)
def add_clique(self, *Q):
for u, v in Q:
self.add_edge(u, v)
функция add_clique
должна принимать произвольное количество элементов по отдельности или в виде списка и добавлять их в график в виде клики (завершеноsubgraph).
Итак, приведенный ниже код должен работать:
G = Graph()
G.add_clique(1,2,3,4)
list = [5,6,7,8,9]
G.add_clique(*list)
G.add_clique(*[13,14,19,21])
Однако я не могу просмотреть список или набор аргументов в парах.Когда я выполняю этот код:
G = Graph()
G.add_clique(5, 6, 7, 8)
Я получаю эту ошибку:
Traceback (most recent call last):
File "D:/PycharmProjects/disks/main.py", line 63, in <module>
G.add_clique(5, 6, 7, 8)
File "D:/PycharmProjects/disks/main.py", line 21, in add_clique
for u, v in Q:
TypeError: cannot unpack non-iterable int object
Как правильно это сделать?