長さ N の float のリストvals
と、 と呼ばれる 0 と 1 の長さ N のリストがありますbits
。2 つのリストを抽出したいと考えています。 の要素はvals
の 0 に対応しbits
、残りの要素は の 1 に対応しますbits
。私は現在やっています:
valsbits = zip(vals,bits)
els0 = [v for v,b in valsbits if b == 0]
els1 = [v for v,b in valsbits if b == 1]
しかし、もっと良い方法があるはずです。また、私は多くの異なるbits
ベクトルに対してこれを行っているので、この操作全体を行う賢い方法があるかもしれません。