如何迭代函数列表并在循环中调用这些函数

时间:2017-04-19 00:14:12

标签: python-3.x iteration function-call

所以我试图找出如何使这个代码块工作,特别是如果我要迭代每个函数' func'那我该如何调用该函数呢?

def compare_two_hands(h1, h2):
    determinants = [is_flush(h), is_two_pair(h), is_one_pair(h)]
    for func in determinants:
        if func(h1) or func(h2):
            if func(h1) and func(h2):
                ...
            else:
                ...

1 个答案:

答案 0 :(得分:1)

调用函数的代码,正如您所编写的那样,将起作用。唯一的问题是您定义列表determinants的方式。我假设这三个函数在同一名称空间的其他地方定义。在构建列表时引用它们时,只需丢失(h)

def is_flush(h):
    ...

def is_two_pair(h):
    ...

def is_one_pair(h):
    ...

def compare_two_hands(h1, h2):
     determinants = [is_flush, is_two_pair, is_one_pair]
     # rest of function as you already have it