如何使用Python将列表项从另一个列表中按列表项划分?

如何使用Python将列表项从另一个列表中按列表项划分?,python,list,division,Python,List,Division,我想将列表项分为两个列表 a = [[1, 0, 2], [0, 0, 0], [1], [1]] b = [[5, 6, 4], [6, 6, 6], [3], [3]] 如何将a除以b以获得此输出: c = [[0.2, 0, 0.5], [0, 0, 0], [0.333], [0.333]] 有人能帮我吗?压缩这两个列表并使用列表理解: from __future__ import division # in python2 only result = [[x/y for x,y

我想将列表项分为两个列表

a = [[1, 0, 2], [0, 0, 0], [1], [1]]
b = [[5, 6, 4], [6, 6, 6], [3], [3]]
如何将a除以b以获得此输出:

c = [[0.2, 0, 0.5], [0, 0, 0], [0.333], [0.333]]

有人能帮我吗?

压缩这两个列表并使用列表理解:

from __future__ import division   # in python2 only
result = [[x/y for x,y in zip(xs, ys)] for xs, ys in zip(a, b)]

样本运行:

In [1]: a = [[1, 0, 2], [0, 0, 0], [1], [1]]
   ...: b = [[5, 6, 4], [6, 6, 6], [3], [3]]
   ...: 

In [2]: result = [[x/y for x,y in zip(xs, ys)] for xs, ys in zip(a, b)]

In [3]: result
Out[3]: [[0.2, 0.0, 0.5], [0.0, 0.0, 0.0], [0.3333333333333333], [0.3333333333333333]]
使用(Python2.7):


如果我运行此命令,为什么要将
[[0,0,0],[0,0,0],[0],[0]]]
作为输出?(我在使用python2.7)@Borja当你使用python2.7的时候,你应该把
from\uuuuuu future\uuuuu import division
放在你文件的最上面。在python2中,默认情况下,
/
运算符是整数除法,而实际上需要浮点除法。
import itertools

[[float(aaa) / bbb for (aaa, bbb) in itertools.izip(aa, bb)] \
    for (aa, bb) in itertools.izip(a, b)]
from __future__ import division # for Python2

[[x / y for x, y  in zip(*item)] for item in zip(a, b)]