我想为字符串方程分配一个值,但我坚持逻辑。
lua_rawsetp(L, LUA_REGISTRYINDEX, p)
我希望输出如下:
dic1 = {'d': '2', 'a': '1', 'c': '3', 'b': '2'}
equation_string = 'ab+cd'
我的逻辑:
1 - >写一个for循环来为字符串赋值,但我不知道如何跳过' +'签到字符串。
'12+32' = 44
答案 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