假设我将此操作作为字符串变量:
formula = '{a} + {b}'
我有一本字典,例如
data = {'a': 3, 'b': 4}
在某些库中是否有这样的功能:
evaluate(operation = formula, variables = data)
给出:
7
最佳答案
如果您使用的是 Python3,则可以使用字符串格式执行类似的操作:
>>> import ast
>>> data = {'a': 3, 'b': 4}
>>> formula = '{a} + {b}'
>>> res_string = formula.format(a=data['a'], b=data['b'])
>>> res = ast.literal_eval(res_string)
>>> print(res)
7
或者如 Steven 在评论中指出的那样更好:
res_string = formula.format(**data)
或者,如果您使用的是 Python3.6,您甚至可以使用很酷的 f-string 来做到这一点:
>>> f"{sum(data.values())}"
'7'
关于python - 使用字典中的变量值执行写成字符串的数学表达式(python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42088569/