Norberto Lopes 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.
I doubt this will ever be accepted, but out of curiosity: *why* do you want this? And if you are willing to put some constraints on you keys, it would be easy enough to do this: def wicked_dict(**kwargs): mappings = [(name, source) for name, source in kwargs.iteritems() if name.startswith("_") res = dict((key, value) for key, value in kwarges.iteritems() if not name.startswith("_")) for name, source in mappings: res[name] = res[source] return res Diez -- http://mail.python.org/mailman/listinfo/python-list