Python 3.x 转换字符串';2*2*3*5';转换为Python 3中的整数
我正在使用Python3,我想转换一个字符串,比如 “2*2*3*5” 转换为整数 2*2*3*5=60 我有一本字典,里面有很多这样的字符串,我需要将它们用作整数。有没有快速的方法可以做到这一点? 我曾想过使用split,但我在这方面遇到了一些麻烦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(即必须仔细检查您的数据以防止不必要的代码执行),您可以尝试:
感谢您的回答。如果可以使用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不一定是一件坏事。当然,这取决于数据的来源。如果它们来自一个静态的、经过仔细检查的文件,那么没有比这更有效的解决方案了。