Създаване на Click в python

Има ли удобен начин за създаване на клик от списък с обекти (като низове), представляващи върхове, вместо ръчно генериране на всеки ръб?


person Maoritzio    schedule 25.11.2015    source източник
comment
Забележка – добавих редакция, показваща как да променя и G на място.   -  person Joel    schedule 26.11.2015


Отговори (1)


Това вероятно е дубликат на Как да генерирам напълно свързан подграф от списък с възли с помощта на модула networkx на python, но аз ще дам различен отговор от този, който е там.

Подходът е да се генерира клика и след това да се използва методът на networkx за повторно маркиране на възли.

import networkx as nx
L=["hello", "world", "how", "are", "you"]
G=nx.complete_graph(len(L))
H=nx.relabel_nodes(G,dict(enumerate(L)))

H.nodes()
> ['how', 'are', 'world', 'you', 'hello']
G.nodes()
> [0,1,2,3,4]

nx.relabel_nodes(G,dict(enumerate(L)), copy=False) #you can also change G in place
G.nodes()
> ['how', 'are', 'world', 'you', 'hello']
person Joel    schedule 25.11.2015
comment
Добавих ред в края, за да покажа как да променя G на място - person Joel; 26.11.2015