Skip to main content
 首页 » 编程设计

python之使用字典中的变量值执行写成字符串的数学表达式(python)

2025年05月04日32emanlee

假设我将此操作作为字符串变量:

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'