我能想到的一种方法是定义函数并存储,而不是存储到可以将运算符传递给的字典中。
代码:
def div(x,y):
return x / y
op_dict = { '/': div }
a = [['10', '/', '5'], ['15','/','3']]
answers = [ op_dict[x[1]](int(x[0]),int(x[2])) for x in a ]
for answer in answers:
print answer
结果:
2
5
扩展:
import operator
op_dict = { '+': operator.add,
'-': operator.sub,
'/': operator.div,
'*': operator.mul}
a = [['10', '/', '5'], ['15','*','3'], ['11','+','3']]
answers = [ (x, op_dict[x[1]](int(x[0]),int(x[2]))) for x in a ]
for answer in answers:
print answer
结果:
(['10', '/', '5'], 2)
(['15', '*', '3'], 45)
(['11', '+', '3'], 14)