我有一个逻辑条件字典,即 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 函数,但成熟的函数也可以。
