繁体   English   中英

将字符串格式的数学等式转换为可在Python3中使用的数学等式

[英]Convert a math equation in string format to something workable in Python3

所以我有一个函数,它采用字符串格式的数学方程式和数字列表。

该函数的目的是将该函数应用于每个数字(指数函数),并返回结果。

例如,我试图将“x ** 4”传递给它,列表[4,3,2]

最终的结果当然是[256,81,16]

如何将字符串转换为数学方程,同时还要记住字符串可以是“x * 2”或“x * 3”中的任何内容。

使用eval函数 ,并使用列表推导。 这要求您提前知道var名称。 如果不这样做,请解析它,然后使用它。

>>> operation = "x**4"
>>> num_list = [4,3,2]
>>> [eval(operation) for x in num_list]
[256, 81, 16]

取决于你需要它有多复杂。 你可以使用内置的地图:

x = [4, 3, 2]

def exp4( val ):
    return val ** 4

map( exp4, x )

您可以定义所需的功能并将其作为时间应用。 你没有说过你是否需要一个能够动态选择函数的能力而且它假定一个可以移动的(在这种情况下是列表)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM