私の問題は、ループ内で挿入/追加メソッドを管理することです。
長さのリストが 2 つありますN
。最初のリスト ( と呼びましょうs
) はサブセットを示し、2 番目のリストはx
評価したい量を表します。簡単にするために、すべてのサブセットが T 個の要素を表すとしましょう。
cont = 0;
for i in range(NSUBSETS):
for j in range(T):
subcont = 0;
if (x[(i*T)+j] < 100):
s.insert(((i+1)*T)+cont, s[(i*T)+j+cont]);
x.insert(((i+1)*T)+cont, x[(i*T)+j+cont]);
subcont += 1;
cont += subcont;
2 つのリストのすべての要素を巡回しているときに、特定の条件 (例: x[i] < 100
) が満たされると、その要素のコピーがサブセットの最後に配置され、完了するまでループが続行されます。サブセットのすべての元のメンバーの分析。「順序」を維持することが重要です。つまり、元のサブセットの最後の要素の隣に要素を挿入します。
サブセット内およびグローバルにそれぞれ作成されたコピーの数を 2 つのカウンター変数内に格納する方法があると考えました (コードを参照)。おそらく Python マジックを使用して、それを行うためのより簡単な方法があるかどうか疑問に思います。