我有以下代碼:如何從Python中的函數內部的字典中調用密鑰?
def all_dsc(x):
dict={'a':x+2,'b':x-2}
return dict
我想從具體而言,本詞典調用函數外部鍵。 smthn喜歡:
all_dsc.dict.keys()
什麼是做的最好的方式?
我有以下代碼:如何從Python中的函數內部的字典中調用密鑰?
def all_dsc(x):
dict={'a':x+2,'b':x-2}
return dict
我想從具體而言,本詞典調用函數外部鍵。 smthn喜歡:
all_dsc.dict.keys()
什麼是做的最好的方式?
您不能從函數外部訪問函數中的本地人。你所能做的就是返回字典對象,調用函數,你已經做了。
調用的函數,然後只把電話表達字典的結果:
all_dsc(42).keys()
演示:
>>> all_dsc(42)
{'a': 44, 'b': 40}
>>> all_dsc(42).keys()
['a', 'b']
注意,你真的不應該使用的名稱內置類型作爲變量,如果你可以避免它。 dict
是一個內置的類型,所以嘗試使用不同的名字在這裏:
def all_dsc(x):
mapping = {'a': x + 2, 'b': x - 2}
return mapping
甚至避免創建本地可言,因爲它並不重要的位置:
def all_dsc(x):
return {'a': x + 2, 'b': x - 2}
非常感謝,不知道我必須通過函數的參數來調用密鑰。 –
另一個問題:如果我在一個函數中有多個字典呢?我怎麼稱呼他們每個人的鑰匙? –
@MarioL:將它們全部返回到一個元組中:'返回d1,d2,d3',然後爲元組索引或使用元組解開來將字典存儲在單獨的變量中。 –
的可能的複製[在不使用\ global的情況下在Python中的函數外部訪問函數變量](http://stackoverflow.com/questions/19326004/access-a-function-variable-outside-the-function-in-python-without -using-global) – Lav
@Lav:這實際上並非所有有用的重複。在函數上設置屬性與設置全局無關;你所做的只是命名空間而已,但全局的許多問題仍然適用(例如,它不是線程安全的)。 –