2024-04-20 09:13:56 发布
网友
我正在开发一组具有相同基本结构的函数-它们采用两个列表并使用循环对这两个列表执行特定的成对操作(例如,一个函数将列表中的每个元素提升到第二个列表中相应元素的幂次方)。你知道吗
由于所有这些函数只有一个运算符不同,我想知道-是否可以将变量设置为运算符?例如,你能做(类似的事情):
var = + var2 = 5 var 7 #var2 is now 12
我知道这是行不通的,但是有没有类似的东西能起到类似的作用呢?你知道吗
是的!您需要operator模块,它“将Python的内部操作符公开为有效函数”
operator
import operator op = operator.add var = op(5, 7)
正如@falsetru所指出的,lambda也很方便;operator中的函数会快一点,不过:
from timeit import timeit print timeit("add(5, 7)", "add = lambda x, y: x+y") # about 0.176 OMM print timeit("add(5, 7)", "from operator import add") # about 0.136 OMM
尝试以下操作:
>>> op = lambda a, b: a + b >>> result = op(5, 7) >>> result 12
是的!您需要
operator
模块,它“将Python的内部操作符公开为有效函数”正如@falsetru所指出的,lambda也很方便;
operator
中的函数会快一点,不过:尝试以下操作:
相关问题 更多 >
编程相关推荐