可能重复:
python将字符串转换为运算符
你好everyboby!
我刚开始学习Python并且有一个简单的问题.
是否有可能得到这个表达式的答案(计算)?
['10', '/', '5']
Run Code Online (Sandbox Code Playgroud)
我的问题:我转换'10','5'只是10和5.我怎样才能转换'/'成/?我使用的是Python 2.7
我认为最好的方法是:
检索列表的第一个元素并将其转换为int
检索列表的第三个元素并将其强制转换为int
将第二个元素映射到一个函数来计算结果
import sys
element = ['10', '/', '5']
operators = {
'/': lambda a, b: a / b,
'+': lambda a, b: a + b,
'-': lambda a, b: a - b,
'*': lambda a, b: a * b,
}
try:
a = int(element[0])
b = int(element[2])
result = operators[element[1]](a, b)
print result
except:
sys.exit(1)
Run Code Online (Sandbox Code Playgroud)
正如ThiefMaster所说,您也可以使用操作员模块.替换这个:
operators = {
'/': lambda a, b: a / b,
'+': lambda a, b: a + b,
'-': lambda a, b: a - b,
'*': lambda a, b: a * b,
}
Run Code Online (Sandbox Code Playgroud)
通过
import operator
operators = {
'/': operator.div,
'+': operator.add,
'-': operator.sub,
'*': operator.mul,
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
239 次 |
| 最近记录: |