您还可以欺骗python:
expression = "math.sin(v['x']) * v['y']"exp_as_func = eval('lambda: ' + expression)
然后像这样使用它:
exp_as_func()
速度测试:
In [17]: %timeit eval(expression)10000 loops, best of 3: 25.8 us per loopIn [18]: %timeit exp_as_func()1000000 loops, best of 3: 541 ns per loop
附带说明一下,如果
v不是全局变量,则可以这样创建lambda:
exp_as_func = eval('lambda v: ' + expression)
并称之为:
exp_as_func(my_v)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)