APL:如何从矩阵中删除仅包含 0 的行和列?

Chr*_*ang 2 binary matrix apl

在矩阵中

0 1 0 0
1 0 1 0
1 1 0 0
0 0 0 0
Run Code Online (Sandbox Code Playgroud)

我想通过将第四列和第四行剥离来重塑它

0 1 0
1 0 1
1 1 0
Run Code Online (Sandbox Code Playgroud)

这样做的明智方法是什么?

Use*_*407 5

给定一个矩阵,例如:

\n\n
A\xe2\x86\x900 1 1 0 1\xe2\x8d\x801 0 0 1 1\\3 3\xe2\x8d\xb4\xe2\x8d\xb39\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是:

\n\n
0 0 0 0 0\n1 0 0 2 3\n4 0 0 5 6\n0 0 0 0 0\n7 0 0 8 9  \n
Run Code Online (Sandbox Code Playgroud)\n\n

空行和空列可以通过以下方式删除:

\n\n
(0\xe2\x88\xa8.\xe2\x89\xa0B)/B\xe2\x86\x90(A\xe2\x88\xa8.\xe2\x89\xa00)\xe2\x8c\xbfA\n
Run Code Online (Sandbox Code Playgroud)\n\n

输出:

\n\n
1 2 3\n4 5 6\n7 8 9\n
Run Code Online (Sandbox Code Playgroud)\n\n

仅修剪外侧:

\n\n

修剪前导列和尾随列:

\n\n
(\xe2\x88\xa8\\0\xe2\x88\xa8.\xe2\x89\xa0B)/B\xe2\x86\x90(\xe2\x8c\xbd\xe2\x88\xa8\\\xe2\x8c\xbd0\xe2\x88\xa8.\xe2\x89\xa0A)/A\n
Run Code Online (Sandbox Code Playgroud)\n\n

修剪前导行和尾随行:

\n\n
(-2\xe2\x86\x91+/^\\\xe2\x8c\xbdB^.=0)\xe2\x86\x93B\xe2\x86\x90(\xe2\x88\xa8\\A\xe2\x88\xa8.\xe2\x89\xa00)\xe2\x8c\xbfA\n
Run Code Online (Sandbox Code Playgroud)\n\n

全部一起:

\n\n
(-2\xe2\x86\x91+/^\\\xe2\x8c\xbdD^.=0)\xe2\x86\x93D\xe2\x86\x90(\xe2\x88\xa8\\C\xe2\x88\xa8.\xe2\x89\xa00)\xe2\x8c\xbfC\xe2\x86\x90(\xe2\x88\xa8\\0\xe2\x88\xa8.\xe2\x89\xa0B)/B\xe2\x86\x90(\xe2\x8c\xbd\xe2\x88\xa8\\\xe2\x8c\xbd0\xe2\x88\xa8.\xe2\x89\xa0A)/A\n
Run Code Online (Sandbox Code Playgroud)\n