我試圖在Python字典中存儲一個函數,用於從字典中自我縮小一些範圍,但我不知道如何將self
傳遞給函數,例如:如何將自我傳遞給python字典中的函數
d = {"r": range(10), "r2": range(10, 20), "f": lambda self: self["r"].extend(self["r2"])}
我希望它返回象擴展列表:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
,但是當我打電話d["f"]()
我得到TypeError: <lambda>() takes exactly 1 argument (0 given).
即使當我做d["f"](d)
我什麼也沒得到!
>>> d["f"](d)
>>>
那麼它甚至有可能嗎?如何 ? 感謝高級。
更新1
我想通過自我的字典詞典中過濾一些值,因爲我的情況是使用在谷歌應用程序內引擎分級是不是一種選擇here's my question about that
所以分級將無法正常工作(我已經得到了這一點,因爲我不能存儲類在數據存儲,所以我使用的子類的字典,而不是看我上面的其他問題)
這是正確的謝謝你,但我應該通過整個字典的功能,讓它的工作?! –
@ user5258689您可能想要使用類進行研究 - 您將能夠以更簡單(和Pythonic)的方式完成您想要的任務。 –
這是一個好主意,請參閱我的編輯。 –