我正在尝试删除图形中以顶点为键(值,顶点,权重)为值的字典的图形中的边。但是,当请求移除边缘时,未指定边缘权重。我想知道我在删除边缘功能中执行的操作是pythonic还是高效的,或者有更好的方法。
class Graph1():
def __init__(self):
self.edgemap = defaultdict()
def add_edge(self,node1,node2,weight=1):
self.edgemap[node1] = (node2,weight)
self.edgemap[node2] = (node1,weight)
def remove_edge(self,node1,node2):
if self.edgemap[node1] in edgemap.keys():
for item in self.edgemap[node1]:
if items[0] == node2:
self.edgemap[node1].pop(item)
if self.edgemap[node2] in edgemap.keys():
for item in self.edgemap[node2]:
if items[0] == node1:
self.edgemap[node2].pop(item)