Форум сайта python.su
0
Код генерации графа:
edges = [('a', 'g'), ('a', 'd'), ('g', 'c'), ('g', 'd'), ('b', 'f'), ('f', 'e'), ('e', 'h')] def make_link(G, v1, v2): if v1 not in G: G[v1] = {} G[v1][v2] = 1 if v2 not in G: G[v2] = {} G[v2][v1] = 1 return G G = {} for v1, v2 in edges: make_link(G, v1, v2)
{'a': {'d': 1, 'g': 1}, 'b': {'f': 1}, 'c': {'g': 1}, 'd': {'a': 1, 'g': 1}, 'e': {'f': 1, 'h': 1}, 'f': {'b': 1, 'e': 1}, 'g': {'a': 1, 'c': 1, 'd': 1}, 'h': {'e': 1}}
{'a': {'d': 1, 'g': 1}}
{'a': ['d', 'g']}
Отредактировано Kurtz (Авг. 22, 2016 12:37:07)
Офлайн
103
from collections import defaultdict edges = [('a', 'g'), ('a', 'd'), ('g', 'c'), ('g', 'd'), ('b', 'f'), ('f', 'e'), ('e', 'h')] def make_link(G, v1, v2): G[v1].add(v2) G[v2].add(v1) G = defaultdict(set) for v1, v2 in edges: make_link(G, v1, v2) print(G)
Офлайн
0
terabaytСпасибо!
def make_link(G, v1, v2): G[v1].append(v2) G[v2].append(v1) G = defaultdict(list)
Отредактировано Kurtz (Авг. 22, 2016 14:14:18)
Офлайн
103
Kurtzнет
terabaytСпасибо!UPD.Или так:
from collections import defaultdict edges = [('a', 'g'), ('g', 'a')] def make_link(G, v1, v2): G[v1].append(v2) G[v2].append(v1) G = defaultdict(list) for v1, v2 in edges: make_link(G, v1, v2) print(G)
Офлайн
0
terabaytДа, вы правы, спасибо.
Офлайн