Seite 1 von 1

Verfasst: Samstag 30. Mai 2009, 17:41
von str1442
Und wenn es reicht, lokal und global zu schauen, geht auch sowas:

Code: Alles auswählen

In [1]: testname = "foobar"

In [2]: from collections import defaultdict

In [3]: d = defaultdict(list)

In [4]: for k, v in globals().copy().iteritems():
   ...:     d[id(v)].append(k)
   ...:     
   ...:     

In [6]: print repr(d[id(testname)])
['testname']

In [7]: print repr(d[id(d)])
['d']
id() muss man hier verwenden, da das Dictionary ja explizit nach Identität und nicht nach Wert (hash) orden soll. Lokal dann natürlich locals().