On Jun 24, 2:39 am, Norberto Lopes <shelika.v...@gmail.com> wrote: > Hi all. > Assuming that python dictionaries already provide a bit of "shoot > yourself in the foot", I think what I have in mind would not be so > bad. > > What do you think of dictionaries having a self lookup in their > declaration? > > Be able to do this: > > a = {"foo" : "foo1", "bar" : a["foo"]} # or with another syntax > > instead of: > > a = { "foo" : "foo1" } > a["bar"] = a["foo"] > > Maybe I'm murdering python syntax/philosophy right here so let me know > if that's the case. > I was thinking this could probably be done in python abstract tree but > as I never looked into it I may be wrong. I'm willing to make the > effort, provided I get some directions and that this idea is worth it. > > Any feedback is welcome.
If you don't mind abusing Python syntax, you can do it using something like this: def DictMaker(name,bases,dct): dct.pop('__metaclass__',None) return dct class a: __metaclass__ = DictMaker home = "/home/test" user1 = home + "/user1" user2 = home + "/user2" python_dev = user1 + "/py-dev" print a Carl Banks -- http://mail.python.org/mailman/listinfo/python-list