On Wed, 09 Dec 2009 23:42:13 -0000, geremy condra <debat...@gmail.com> wrote:

On Wed, Dec 9, 2009 at 6:04 PM, Rhodri James
<rho...@wildebst.demon.co.uk> wrote:
On Wed, 09 Dec 2009 03:47:03 -0000, geremy condra <debat...@gmail.com>
wrote:

g = Graph(
   nodes={'a':{'colour':'red'},
              'b':{'colour':'white'},
              'c':{'colour':'blue'}},
   edges={('a', 'b'):{'name':'ab', 'weight':2},
              ('a', 'c'):{'name':'ac'},
              ('b', 'c'):{'name':'bc', 'style':'dotted'}}
)

That's OK for nodes, but for consistency with add_edges I would have
expected the name to be the optional third element of the key tuples. It works either way, but I can't help feel it's beginning to look a bit ugly.

I have to admit, I prefer it the other way, but patrick (our test guru and
chief bug squasher) likes your proposal better. I'm going to get in touch
with robbie tonight and see what he says. Since this is not a feature I'll
use much, if he agrees with you then I'll go ahead and implement the
change tonight and merge it back into mainline. If not, I'd appreciate
it if you'd take another look at it and figure out if its something you can
live with, or if theres another syntax you'd prefer, etc. Fair enough?

Fair enough. Don't take my word as having much weight; I'm not likely to use graphs much for graph theory purposes (having skipped the topology courses in the Maths part of my degree), it just happens to be clearly the right datastructure for a project I'm fiddling with at home.

Here's a thought: are

  g.add_edge("a", "b", "ab")

and

  g.add_edge("a", "b", name="ab")

equivalent? If so, there's no reason not to have both forms of the initialiser. If not, that weighs against having 'name' as a dictionary key.

--
Rhodri James *-* Wildebeest Herder to the Masses
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to