diff options
author | Mridul Seth <seth.mridul@gmail.com> | 2015-07-02 20:31:57 +0530 |
---|---|---|
committer | Mridul Seth <seth.mridul@gmail.com> | 2015-07-02 20:31:57 +0530 |
commit | 7f6a1f0d0b0b70d8562783639234a1d3b87e6069 (patch) | |
tree | 2eea11a4e50f91aaef8a4fa349cd11ac0ccdc0cd | |
parent | 47f8403356494fce0815fe4ec91074d4b37de4ab (diff) | |
download | networkx-7f6a1f0d0b0b70d8562783639234a1d3b87e6069.tar.gz |
Make selfloop methods return iterator instead of list in MultiGraph class
-rw-r--r-- | networkx/classes/multigraph.py | 32 | ||||
-rw-r--r-- | networkx/classes/tests/test_multigraph.py | 4 |
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): |