Ich habe ein Diagramm wie folgt aus:Python Graph Änderungen
{'0': {'4': 1},
'1': {},
'2': {'3': 1, '4': 1},
'3': {'2': 1},
'4': {'0': 1, '2': 1}}
und ich möchte einige Änderungen vornehmen, indem eine bestimmte Kante zu entfernen, aber ich möchte auch die ursprüngliche Grafik behalten. So verwende ich
temp=copy.copy(graph)
, um eine Kopie daraus zu machen. Und dann führe ich die Funktion aus (auf der neuen Kopie), die die spezifische Kante, die ich möchte, entfernt (zum Beispiel Kante drei, die in diesem Fall zwischen Knoten 2 und Knoten 3 liegt), aber was ich bekomme, ist, dass Veränderung auch im Original passiert Graph. Wie kann ich dieses Problem beheben?
Des Weiteren Der Code, der verwendet wird, um eine Kante zu entfernen, ist dies
def remove_links(graph_dic,edge_number):
count = 1
V,U = '',' '
for item in temp.items():
for node in item[1].items():
if count==edge_number:
V = item[0]
U = node[0]
count+=1
del graph_dic[V][U]
return graph_dic
Ich möchte keine Änderungen in der ursprünglichen Graphen haben, während auch eine bestimmte Kante zu entfernen, die ich auf der neuen Kopie wollen . Darüber hinaus Ich laufe es auf Jupyter Notebook ...