動的なforループを作成するには、再帰的またはitertoolsモジュールをPythonで作成する方法があります。私は再帰的にそれをやっていると言うことができます。私は2つのリスト動的Forループin Python
variable_list = [ var1, var2, var3, ... ]
boundaries_list = [ [var1_lowerlimit, var1_upperlimit, var1_stepsize],
[var2_lowerlimit, var2_upperlimit, var2_stepsize], ...]
def dynamic_for_loop(variable_list , boundaries_list, no_of_loops, list_index = 0):
if no_of_loops <= 0:
# do_whatever()
else:
lower_bound = boundaries_list[list_index][0]
upper_bound = boundaries_list[list_index][1]
step_size = boundaries_list[list_index][2]
for index in range(lower_bound, upper_bound, step_size):
list_index += 1
try:
dynamic_for_loop(variable_list , boundaries_list, no_of_loops - 1, list_index)
except:
list_index = 0
dynamic_for_loop(variable_list , boundaries_list, no_of_loops - 1, list_index)
を
nは変数
の数である私がしたいことはnの
for var1 in range(var1_lowerlimit, var1_upperlimit, var1_stepsize):
for var2 in range(var2_lowerlimit, var2_upperlimit, var2_stepsize):
:
:
# do_whatever()
繰り返しループされて私が今持っているを持っている私は、リセットをしましたそれは範囲外になるlist_indexで、私は私が望む結果を得ることができませんでした。誰かが間違ったことを教えてもらえますか?
:
今、私たちはそうのようにそれを使用することができます。あなたは正確に何を達成しようとしていますか? – DeepSpace
それを個別の変数に展開しないでください。ループカウントが可変であれば、 'product()'というタプルを処理するだけで動的に生成されます。 –
変数を変更して各変数に独自の境界があるので、変数と境界をlist_indexを使ってリストに入れたのはなぜですか? – Max