I followed the mails entitled 'How to turn a variable name into a string?' in march 2005 posts as I have a similar problem.
I have to get some list variable names at some point in my program. So I ended up looking into globals() to get them with a small function like this:
#!/usr/bin/python
l1 = ['r', 'r', 't'] l2 = ['r', 't', 't'] l3 = ['t', 't', 't'] # Two equivalent lists but... l4 = ['t', 't', 't'] # with different names
def nameofObj(obj): # print locals() globdict = globals() var = globals().keys() for i in var : if globdict[i] == obj: print i
print '-'*20 ,'\n' nameofObj(l1)
print '-'*20 ,'\n' map(nameofObj, [l1, l2, l3, l4])
What is the problem you're trying to solve here? Looking up the names of an object is not usually something you want to do. If you provide a little more detail on your use case, we might be able to help you refactor this code.
STeVe -- http://mail.python.org/mailman/listinfo/python-list