Kev*_*vin 2 python variables operation
我正在开发一堆具有相同基本结构的函数 - 它们采用两个列表并使用循环为两个列表成对地执行特定操作(例如,一个将列表中的每个元素提升到表示的幂通过第二个列表中的相应元素).
由于所有这些功能仅由操作员区分,我想知道 - 是否可以将变量设置为运算符?例如,你能做什么(类似的东西):
var = +
var2 = 5 var 7 #var2 is now 12
Run Code Online (Sandbox Code Playgroud)
我知道具体不起作用,但是有类似的东西可以起作用吗?
是! 您需要这个operator
模块,它"将Python的内部运算符公开为高效函数".
import operator
op = operator.add
var = op(5, 7)
Run Code Online (Sandbox Code Playgroud)
正如@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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
71 次 |
最近记录: |