Есть ли удобный способ создать клику из списка объектов (например, строк), представляющих вершины, вместо создания каждого ребра вручную?
Создание клики в питоне
Ответы (1)
Вероятно, это дубликат Как сгенерировать полносвязный подграф из списка узлов с помощью модуля python networkx, но я дам ответ, отличный от того, что там есть.
Подход состоит в том, чтобы создать клику, а затем использовать метод 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
Я добавил строку в конце, чтобы показать, как изменить
G
на месте
- person Joel; 26.11.2015
G
на месте. - person Joel   schedule 26.11.2015