Я пытался построить собственный граф в Python. Словари идеально подходят для этого, но я думаю, что использовать их глупо.
def add_edge(gra, edge):
edge = set(edge)
vertex1 = edge.pop()
if edge:
vertex2 = edge.pop()
else:
vertex2 = vertex1
if vertex1 in gra:
gra[vertex1].append(vertex2)
else:
gra[vertex1] = [vertex2]
Я попытался это добавить некоторые ребра на график.
Когда я использую это:
z = {0:[],1:[],2:[],3:[],4:[],5:[]}
for i in range(0,6):
add_edge(z,(i,50))
print(z)
я бы за исключением того, что он добавил бы:
{0:[50],1:[50],2:[50],3:[50],4:[50],5:[50]}
но я получаю:
{0: [50], 1: [50], 2: [50], 3: [], 4: [], 5: [], 50: [3, 4, 5]}
что не так с моей идеей?