2

数字のリストのリストがあります。最初の要素をすべて一緒に追加し、2 番目の要素をすべて追加するなどして、それらを 1 つのリストに追加します。たとえば、私のリストが { {1,2,3}, {1,2,3}, {1 ,2,3,4} } 最終的に {3,6,9,4} になりたいと思います。Mathematica でこれを行うにはどうすればよいですか?

4

3 に答える 3

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

Total@PadRight@a

{3, 6, 9, 4}

于 2015-08-01T11:16:05.050 に答える
1

その多くの便利な機能の中で、Flattenは「不規則な」配列を転置します (わかりやすい説明についてはこちらを参照するか、 Flattenのドキュメントの「アプリケーション」サブセクションを確認してください ) 。

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

{3, 6, 9, 4}

于 2016-03-08T10:29:37.723 に答える
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]
于 2015-08-01T03:49:30.553 に答える