Dictionary self lookup
Diez B. Roggisch
deets at nospam.web.de
Wed Jun 24 06:06:37 EDT 2009
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
More information about the Python-list
mailing list