Python:迭代时减去列表中的列表

时间:2014-08-08 09:31:47

标签: python list python-2.7

我的多维列表如下所示:

A = [[1,2,3], [4,5,6], [7,8,9], [10,11,12], [13,14,15], [16,17,18]]

我希望将子列表的元素之间的差异作为一个列表,例如:

B= [ [1-4, 2-5, 3-6], [4-7, 5-8, 6-9], [7-10, 8-11,9-12] [10-13, 11-14, 12-15] ]

等等。

我怎么能得到这个?感谢您的任何建议

1 个答案:

答案 0 :(得分:2)

将列表理解与zipmapoperator.sub一起使用:

>>> from operator import sub
>>> A = [[1,2,3], [4,5,6], [7,8,9], [10,11,12], [13,14,15], [16,17,18]]
>>> [map(sub, a, b) for a, b in zip(A, A[1:])]
[[-3, -3, -3], [-3, -3, -3], [-3, -3, -3], [-3, -3, -3], [-3, -3, -3]]