同じサイズの NumElements の A、B、C、D という 4 つの配列があり、それらの 0 をすべて削除したいと考えています。A にゼロがある場合、B、C、および D にも同じ位置にゼロがあります。だから私は A の要素をループすることを考えていました:
for n in range(NumElements):
if A[n]==0:
A.pop(n)
B.pop(n)
C.pop(n)
D.pop(n)
もちろん、配列から 0 をポップするとサイズが小さくなるため、これは機能しません。したがって、A が NumElements-m の長さしかないときに、A[NumElements-1] にアクセスしようとすることになります。配列のコピーを使用する必要があることはわかっていますが、配列は非常に長く、Java 仮想マシンで作業しているため、メモリ消費を低く抑えたいと考えています (質問しないでください :(((( )。また、私は効率的であるが、何よりも読みやすいアプローチが欲しいです (このコードは、私のような Python の読み書きができない人によって維持される必要があるため、KISS が必要です)。