如何将字典键与函数关联?

时间:2012-07-11 15:09:10

标签: python dictionary

我的应用程序有一个完整的函数类,可以执行各种操作。这些操作与1和仅1个字典键相关。如何将字典键与其各自的功能相关联?该工具的目标是在给定一组键时使用适当的函数集。

这就是我目前的工作方式:

class MyClass:

    def FuncA(self):
        # Some code -----------------------------

    def FuncB(self):
        # Some code -----------------------------

myDict["Objective A"] = MyClass.FuncA()
myDict["Objective B"] = MyClass.FuncB()

由于我的程序的性质,将使用的密钥集可能会不时更改。因此,对我进行硬编码是没有意义的。我希望能够遍历我的一组键并运行适当的函数。请记住,ObjectiveA与FuncA相关联。因此,如果ObjectiveA出现在我的密钥列表中,则需要调用FuncA以处理某些操作并填充相应的值对。

设想这个:

for k in myDict.keys():
    myDict[k] = MyClass.TheAssociatedFunction()

1 个答案:

答案 0 :(得分:11)

myDict["Objective A"] = MyClass.FuncA()

关联MyClass.FuncA的返回值。如果要关联函数本身:

myDict["Objective A"] = MyClass.FuncA
myDict["Objective B"] = MyClass.FuncB

然后你可以直接调用它:

myDict["Objective A"]()