将字典中的值分配给等式

时间:2016-10-23 00:44:05

标签: python python-2.7 python-3.x ipython

我想为字符串方程分配一个值,但我坚持逻辑。

lua_rawsetp(L, LUA_REGISTRYINDEX, p)

我希望输出如下:

dic1 = {'d': '2', 'a': '1', 'c': '3', 'b': '2'}
equation_string = 'ab+cd'

我的逻辑:

1 - >写一个for循环来为字符串赋值,但我不知道如何跳过' +'签到字符串。

'12+32' = 44

1 个答案:

答案 0 :(得分:1)

为了实现它。您需要先使用string.replace()equation_string dic1中的替换为相应的。在字符串中进行所有替换后,使用eval()执行字符串表达式。以下是示例代码:

>>> dic1 = {'d': '2', 'a': '1', 'c': '3', 'b': '2'}
>>> equation_string = 'ab+cd'
>>> for k, v in dic1.iteritems():
...     equation_string = equation_string.replace(k, v)
... 
>>> equation_string
'12+32'   # Updated value of equation_string
>>> eval(equation_string)
44