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

标签 python dictionary

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

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/

相关文章:

arrays - 如何在不使用多个循环的情况下从字典列表中获取每个记录的单独字典?

python - 在 python 中操作返回值

python - keras的binary_crossentropy损失函数范围

c# - 按值对字典进行排序,该值是具有 DateTime 的对象

python - Pandas df.to_csv() 将字典值保存为字符串。调用 pd.read_csv() 时如何取回字典?

javascript - 什么算法用于找到多边形和圆之间的交集区域?

python - 如何在 Tensorflow 中重用模型

python - 修复 x 轴缩放和自动缩放 y 轴

python - 设置列表的最小长度?

python - 重组字典键值对的更好方法?