Mathematica:按元素添加列表列表

时间:2015-08-01 00:23:27

标签: list wolfram-mathematica addition elementwise-operations

我有一份数字列表。我将它们添加到一个列表中,将所有第一个元素添加到一起,将所有第二个元素添加到一起,等等。例如,如果我的列表是{{1,2,3},{1,2,3},{1 ,2,3,4}}我想以{3,6,9,4}结束。我如何在Mathematica中做到这一点?

3 个答案:

答案 0 :(得分:2)

a = {{1, 2, 3}, {1, 2, 3}, {1, 2, 3, 4}};

Total@PadRight@a
  

{3,6,9,4}

答案 1 :(得分:1)

在其众多有用的功能中,Flatten将转换一个“粗糙的”'数组(请参阅here以获得更好的解释,或查看Flatten上文档的“应用程序”小节)

Total /@ Flatten[#, {{2}}] &@{{1, 2, 3}, {1, 2, 3}, {1, 2, 3, 4}}
  

{3,6,9,4}

答案 2 :(得分:0)

如果所有行的长度相同,那么添加行就可以了。

因此,通过附加零来使所有行具有相同的长度,然后添加它们。

lists = {{1, 2, 3}, {1, 2, 3}, {1, 2, 3, 4}};
max = Max[Length /@ lists]; min = Min[Length /@ lists];
zeros = Table[0, {max - min}];
Plus @@ Map[Take[Join[#, zeros], max] &, lists]