Python 3.x 转换字符串';2*2*3*5';转换为Python 3中的整数

Python 3.x 转换字符串';2*2*3*5';转换为Python 3中的整数,python-3.x,Python 3.x,我正在使用Python3,我想转换一个字符串,比如 “2*2*3*5” 转换为整数 2*2*3*5=60 我有一本字典,里面有很多这样的字符串,我需要将它们用作整数。有没有快速的方法可以做到这一点? 我曾想过使用split,但我在这方面遇到了一些麻烦 感谢您的回答。如果可以使用eval(即必须仔细检查您的数据以防止不必要的代码执行),您可以尝试: str = '2*2*3*5' print eval(str) 如果可以使用eval(即必须仔细检查您的数据以防止不必要的代码执行),您可以尝试:

我正在使用Python3,我想转换一个字符串,比如

“2*2*3*5”

转换为整数

2*2*3*5=60

我有一本字典,里面有很多这样的字符串,我需要将它们用作整数。有没有快速的方法可以做到这一点? 我曾想过使用split,但我在这方面遇到了一些麻烦


感谢您的回答。

如果可以使用eval(即必须仔细检查您的数据以防止不必要的代码执行),您可以尝试:

str = '2*2*3*5'

print eval(str)

如果可以使用eval(即必须仔细检查您的数据以防止不必要的代码执行),您可以尝试:

str = '2*2*3*5'

print eval(str)

如果所有表达式都是重复乘法,则可以这样做(无求值):


如果所有表达式都是重复乘法,则可以这样做(无求值):


-1.没有关于用户或dict来源的背景,建议
eval
而不加警告是不负责任的。由于没有关于用户或dict来源的背景信息,建议
eval
不加警告是不负责任的。您不应该使用
eval
。另外,也许你可以为你的字符串编写一个简单的解析器。您的表达式是否比xyz更复杂?eval不一定是一件坏事。当然,这取决于数据的来源。如果它们来自一个静态的、经过仔细检查的文件,那么没有比这更有效的解决方案了。您不应该使用
eval
。另外,也许你可以为你的字符串编写一个简单的解析器。您的表达式是否比xyz更复杂?eval不一定是一件坏事。当然,这取决于数据的来源。如果它们来自一个静态的、经过仔细检查的文件,那么没有比这更有效的解决方案了。