diff Graph.py @ 4:9d0cf96b6a3b

Updates to Graph.py after looking at Prof. Downey's code.
author Brian Neal <bgneal@gmail.com>
date Thu, 29 Nov 2012 20:37:03 -0600
parents de3ae15ebbfa
children 8e44660965ef
line wrap: on
line diff
--- a/Graph.py	Thu Nov 29 20:19:27 2012 -0600
+++ b/Graph.py	Thu Nov 29 20:37:03 2012 -0600
@@ -88,10 +88,9 @@
     def remove_edge(self, e):
         """Removes the edge e from the graph."""
 
-        for x in self.iterkeys():
-            remove = [k for k, v in self[x].iteritems() if v is e]
-            for k in remove:
-                del self[x][k]
+        v, w = e
+        del self[v][w]
+        del self[w][v]
 
     def vertices(self):
         """Returns a list of the vertices in the graph."""
@@ -102,9 +101,8 @@
         """"Returns a list of the edges in the graph."""
 
         edge_set = set()
-        for x in self.iterkeys():
-            for e in self[x].itervalues():
-                edge_set.add(e)
+        for d in self.itervalues():
+            edge_set.update(d.itervalues())
 
         return list(edge_set)