我在做一个简单的计算器时就想到了这一点。我做了一个简单的程序来对数字列表求和,如下所示,但是乘法程序有点长。
所以任何人都知道如何在 python 中为多个数字列表制作短程序。这是我的代码。
def calculate(oper,*nm):
return oper(nm)
add=lambda x:sum(x)
def mult(lst):
tmp=1
for i in lst:
tmp*=i
return tmp
计算(加,2,34,2)
计算(多,8,5,7)
最佳答案
实际上,您不需要定义calculate
,因为Python 已经为它命名:reduce .
def calculate(oper, *nm):
return reduce(oper, nm)
In [6]: import operator
In [7]: calculate(operator.add, 2, 34, 2)
Out[7]: 38
In [8]: calculate(operator.mul, 8, 5, 7)
Out[9]: 280
注意:在 Python3 中,reduce
已移至 functools module . (感谢@ErikRoper 指出这一点。)
关于python - 如何编写用最短行乘以数字列表的程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14687663/