summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMridul Seth <seth.mridul@gmail.com>2015-07-02 20:31:57 +0530
committerMridul Seth <seth.mridul@gmail.com>2015-07-02 20:31:57 +0530
commit7f6a1f0d0b0b70d8562783639234a1d3b87e6069 (patch)
tree2eea11a4e50f91aaef8a4fa349cd11ac0ccdc0cd
parent47f8403356494fce0815fe4ec91074d4b37de4ab (diff)
downloadnetworkx-7f6a1f0d0b0b70d8562783639234a1d3b87e6069.tar.gz
Make selfloop methods return iterator instead of list in MultiGraph class
-rw-r--r--networkx/classes/multigraph.py32
-rw-r--r--networkx/classes/tests/test_multigraph.py4
2 files changed, 18 insertions, 18 deletions
diff --git a/networkx/classes/multigraph.py b/networkx/classes/multigraph.py
index 85d53a62..3bbabb96 100644
--- a/networkx/classes/multigraph.py
+++ b/networkx/classes/multigraph.py
@@ -878,42 +878,42 @@ class MultiGraph(Graph):
>>> G = nx.MultiGraph() # or MultiDiGraph
>>> G.add_edge(1,1)
>>> G.add_edge(1,2)
- >>> G.selfloop_edges()
+ >>> list(G.selfloop_edges())
[(1, 1)]
- >>> G.selfloop_edges(data=True)
+ >>> list(G.selfloop_edges(data=True))
[(1, 1, {})]
- >>> G.selfloop_edges(keys=True)
+ >>> list(G.selfloop_edges(keys=True))
[(1, 1, 0)]
- >>> G.selfloop_edges(keys=True, data=True)
+ >>> list(G.selfloop_edges(keys=True, data=True))
[(1, 1, 0, {})]
"""
if data is True:
if keys:
- return [(n, n, k, d)
+ return ((n, n, k, d)
for n, nbrs in self.adj.items()
- if n in nbrs for k, d in nbrs[n].items()]
+ if n in nbrs for k, d in nbrs[n].items())
else:
- return [(n, n, d)
+ return ((n, n, d)
for n, nbrs in self.adj.items()
- if n in nbrs for d in nbrs[n].values()]
+ if n in nbrs for d in nbrs[n].values())
elif data is not False:
if keys:
- return [(n, n, k, d.get(data, default))
+ return ((n, n, k, d.get(data, default))
for n, nbrs in self.adj.items()
- if n in nbrs for k, d in nbrs[n].items()]
+ if n in nbrs for k, d in nbrs[n].items())
else:
- return [(n, n, d.get(data, default))
+ return ((n, n, d.get(data, default))
for n, nbrs in self.adj.items()
- if n in nbrs for d in nbrs[n].values()]
+ if n in nbrs for d in nbrs[n].values())
else:
if keys:
- return [(n, n, k)
+ return ((n, n, k)
for n, nbrs in self.adj.items()
- if n in nbrs for k in nbrs[n].keys()]
+ if n in nbrs for k in nbrs[n].keys())
else:
- return [(n, n)
+ return ((n, n)
for n, nbrs in self.adj.items()
- if n in nbrs for d in nbrs[n].values()]
+ if n in nbrs for d in nbrs[n].values())
def number_of_edges(self, u=None, v=None):
"""Return the number of edges between two nodes.
diff --git a/networkx/classes/tests/test_multigraph.py b/networkx/classes/tests/test_multigraph.py
index 35adbf07..b346a49d 100644
--- a/networkx/classes/tests/test_multigraph.py
+++ b/networkx/classes/tests/test_multigraph.py
@@ -91,8 +91,8 @@ class BaseMultiGraphTester(BaseAttrGraphTester):
G=self.K3
G.add_edge(0,0)
assert_equal(list(G.nodes_with_selfloops()), [0])
- assert_equal(G.selfloop_edges(),[(0,0)])
- assert_equal(G.selfloop_edges(data=True),[(0,0,{})])
+ assert_equal(list(G.selfloop_edges()), [(0, 0)])
+ assert_equal(list(G.selfloop_edges(data=True)), [(0, 0, {})])
assert_equal(G.number_of_selfloops(),1)
def test_selfloops2(self):