我试图在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)的方式完成您想要的任务。 –
这是一个好主意,请参阅我的编辑。 –