以编程方式选择一个不等式运算符

我正在尝试根据来自配置文件的输入执行操作。在配置中,将有信号、比较和值的规范。我想将比较字符串转换为不等式运算符的选择。现在,这看起来像是

def compute_mask(self, signal, comparator, value, df):
    if comparator == '<':
        mask = df[signal] < value
    elif comparator == '<=':
        mask = df[signal] <= value
    elif comparator == '=':
        mask = df[signal] == value
    elif comparator == '>=':
        mask = df[signal] >= value
    elif comparator == '>':
        mask = df[signal] > value
    elif comparator == '!=':
        mask = df[signal] != value
    
    return mask

在其他应用程序中,我可以这样做

func = {
    'a': func_a,
    'b': func_b,
    'c': func_c
}.get(func_choice)
func(value_to_process)

以便容易地避免不得不一遍又一遍地重复代码。我该如何在这里做同样的事情呢?

转载请注明出处:http://www.xhjyjj.com/article/20230526/2527970.html