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