2つのリストの場合、
a = [1, 2, 9, 3, 8, ...] (no duplicate values in a, but a is very big)
b = [1, 9, 1,...] (set(b) is a subset of set(a), 1<<len(b)<<len(a))
indices = get_indices_of_a(a, b)
get_indices_of_a
で戻る方法indices = [0, 2, 0,...]
はarray(a)[indices] = b
?a.index
時間がかかりすぎるを使用するよりも速い方法はありますか?
セットを作成b
することは、リストを照合してインデックスを返す高速な方法です(Pythonで2つのリストを比較し、一致した値のインデックスを返すを1
参照)が、この場合、2番目のインデックスとインデックスのシーケンスが失われます。