例如:
a = [1,2,3,4,5,6]
我希望做的事情:
1/2/3/4/5/6
我尝试使用operator.div
函数,���它似乎不能给出正确的结果。顺便说一句,我对Python还很新。
reduce
函数。
将包含多个元素的序列从左到右依次传入二元函数进行累计运算,最终将序列规约为单一数值。
代码示例如下:
>>> from functools import reduce
>>> l = [1,2,3,4,5,6]
>>> reduce(lambda x,y:x/y,l)
0.001388888888888889
等同于
>>> 1/2/3/4/5/6
0.001388888888888889
truediv
,这是Python2的另一种选择(另一种方式更受欢迎)。>>> from __future__ import division
>>> l = [1,2,3,4,5,6]
>>> reduce(lambda x,y:x/y,l)
0.001388888888888889
>>> a = [1,2,3,4,5,6]
>>> i = iter(a)
>>> result = next(i)
>>> for num in i:
... result /= num
...
>>> result
0.001388888888888889
>>> 1/2/3/4/5/6
0.001388888888888889
lambda
方法对于各种类型的问题具有更高的灵活性。 - Mazdak