On Oct 16, 8:30 pm, Steven D'Aprano <[EMAIL PROTECTED] cybersource.com.au> wrote: > On Thu, 16 Oct 2008 11:51:43 -0700, Aaron \"Castironpi\" Brady wrote: > > If you're sure it's unique, why not just scan through the pairs in > > locals()? > > > for k, v in locals(): > > if v is the_object_im_looking_for: > > name_im_looking_for= k > > > This method can sometimes return more than one name, due to the variable > > ordering of objects in dictionaries. > > Because: > > (1) in general, objects can have no name at all, or multiple names, so > this won't work in general (although it may work in a specific case); > > (2) it's awfully inefficient if you are doing it a lot; and > > (3) even if it works and you can afford to pay the cost, it is almost > certainly the Wrong Way to solve the problem at hand. > > -- > Steven
In fact, what's more called-for, is a mapping in reverse: name_im_looking_for= lookup[ the_object_im_looking_for ] You'll just have to modify it in parallel with your local variables, which is a (yet another) bad sign. -- http://mail.python.org/mailman/listinfo/python-list