Skip to main content
 首页 » 编程设计

python之在字典中存储逻辑条件并将它们传递给 if 语句

2025年05月04日8jillzhang

我有一个逻辑条件字典,即 a == 1,我需要在 if 语句中使用它来进行评估。这可能是不可能的,但我想确定一下。示例代码:

z = {'var1':['a == 1'], 
     'var2':['b == 3'] 
    } 
a = 6 
b = 20 
 
#If I use the dictionary value in an if statement like this: 
 
if z['var1']: 
    print 'TRUE' 
else: 
    print 'FALSE' 
 
#It will always evaluate as true.  What I want is for the statement to 
#translate into the following form: 
 
if a == 1: 
    print 'TRUE' 
else: 
    print 'FALSE' 

我一直在搜索 if 语句、列表理解和字符串操作的各种排列,但我没有找到与这个问题匹配的结果。如果不可能,我想知道。如果有更好的方法,我也想知道。预先感谢您的回答。

请您参考如下方法:

您可以将函数存储在字典中:

z = {'var1': lambda a, b: a == 1, 
     'var2': lambda a, b: b == 3, 
    } 
 
if z['var1'](a, b): 
    print 'TRUE' 
 
# etc. 

我在这里使用了 lambda 函数,但成熟的函数也可以。