2011-05-12 131 views
1

我很容易接觸到的變量列表,例如:在變量名獲取列表項的名稱

[a, b, c,] 

我想知道,你可以內省(或東西)來得到一個字典,看起來像這樣:

{ 'a'=a, 'b'=b, 'c'=c } 
+1

可能重複的[Python變量作爲鍵的字典](http://stackoverflow.com/questions/3972872/python-variables-as-keys-to-dict) – 2011-05-12 23:55:09

+0

類似的問題你可能會發現有幫助的答案: [Python中的變量名自省](http://stackoverflow.com/questions/1894591/variable-name-introspection-in-python) – sneg 2011-05-12 23:58:03

回答

1

該列表不包含變量。它指的是它包含的對象;就像名稱'a','b','c'指的是那些相同的對象一樣。

因此,從列表中獲取一個項目會使您成爲對象。該對象可能有零個,一個或多個名稱;它不知道它們中的任何一個。

如果您在創建列表時知道,您稍後想要按名稱引用這些項目,則聽起來好像要創建一個dict。

0

下面的東西可能是?

dict(zip(arr,arr)) 

編輯:

從建議的副本,如果你想要的是:

for i in ('a', 'b', 'c'): 
    dic[i] = locals()[i] 

,但如果你擁有了它,你必須有清單,['a','b','c'][a,b,c]值會取代無論如何變量名稱。

+0

你可以通過做'vars = [i for i in locals ()如果我和「__」不在我和「<」不在我];字典(zip(vars,[locals [i] for i vars]))' – inspectorG4dget 2011-05-13 00:31:42