2017-02-16 68 views
1

我不知道我在寫我在正確的方法程序,但我有這樣的事情:蟒蛇得到引用的對象名

unit_dict = {} 
test_dict = {'a':unit_dict} 

現在,當我訪問test_dict['a']我得到的引用(或者是它的指針)到正確的字典,但有沒有辦法從test_dict以某種方式獲取原始對象名稱?

像:

magick_function(test_dict['a']) 
res > unit_dict = {} 
+1

'test_dict = {'a':unit}'你的意思是'test_dict = {'a':unit_dict}'? – enderland

+0

是的,謝謝,更正 – kakk11

+0

第二個答案可能是照亮:http://stackoverflow.com/questions/2553354/how-to-get-a-variable-name-as-a-string-in-python – Will

回答

1

在某些情況下,你可以做一些髒globals()喜歡,但我懷疑,有沒有一種更好的方式無論你是想在更大範圍內實現:

def magic(o): 
    for k, v in globals().iteritems(): 
    if v is o: 
     return k 
    return None 

> magic(test_dict['a']) 
'unit_dict' 
+0

如果更改unit_dict,它似乎不起作用。 – kakk11

+1

「改變」是什麼意思?重新分配? – schwobaseggl

+0

我的不好,與python2很好 – kakk11