私はこのタイプの問題の解決策を探しているのは久しぶりです:例えば(私の本当の問題はもっと複雑だからです):
import numpy
a=[numpy.array([1,2]),numpy.array([2,2]),numpy.array([3,2]),numpy.array([4,2])]
b=[numpy.array([2,2]),numpy.array([3,2]),numpy.array([6,2]),numpy.array([5,2]),numpy.array([5,2])]
ya=numpy.array([1,2,3,4])
size_a=len(a)
size_b=len(b)
yb=numpy.empty((size_b,1))
yb.fill(numpy.nan)
for i in xrange(size_b):
for j in xrange(size_a):
if numpy.array_equiv(yb,ya):
ya[i]=yb[j]
bの1つの要素に一致する要素のインデックスのya値をybに入力したいだけです。ybはyaよりも長いため、ループの最後にybに「nan」が含まれるのが普通です。以下のコードは、続行するのに時間がかかりすぎます。実際、ループの終了を待たなかったので、それが機能するかどうかはわかりません...
実際の場合、yaとybは長くなります:7007と3525
私の目標を達成する別の方法はありますか?