如何将列表中的所有元素分开

时间:2016-07-13 10:40:51

标签: python list

例如:

a = [1,2,3,4,5,6]

我想这样做:

1/2/3/4/5/6

我尝试过使用operator.div函数,但似乎没有给出正确的结果。顺便说一下,我对python很新。

3 个答案:

答案 0 :(得分:6)

您可以使用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已被其他answer证明,这是Python2的另一种选择(另一种方式是首选)

>>> from __future__ import division
>>> l = [1,2,3,4,5,6]
>>> reduce(lambda x,y:x/y,l)
0.001388888888888889

答案 1 :(得分:6)

您可以使用reduce()operator.truediv

>>> a = [1,2,3,4,5,6]
>>> from operator import truediv
>>> 
>>> reduce(truediv, a)
0.001388888888888889

注意:在python3.x中,您需要从functools模块中导入reduce()函数。

答案 2 :(得分:4)

为什么不使用循环?

>>> 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