【发布时间】:2020-10-28 20:02:07
【问题描述】:
当可迭代项的数量根据用户输入而变化时,有没有一种方法可以有效地将可变数量的输入输入到像 itertools.product() 这样的程序中?
例如,下面的代码运行,但需要为每个循环显式定义:
steps = np.linspace(0,100,21)
if len(elem_list) == 2:
for phase in itertools.product(steps,steps):
if round(round(phase[0],10)+round(phase[1],10),10)==100:
print(phase)
if len(elem_list) == 3:
for phase in itertools.product(steps,steps,steps):
if round(round(phase[0],10)+round(phase[1],10)+round(phase[2],10),10)==100:
print(phase)
if len(elem_list) == 4:
for phase in itertools.product(steps,steps,steps,steps):
if round(round(phase[0],10)+round(phase[1],10)+round(phase[2],10)+round(phase[3],10),10)==100:
print(phase)
if len(elem_list) == 5:
for phase in itertools.product(steps,steps,steps,steps,steps):
if round(round(phase[0],10)+round(phase[1],10)+round(phase[2],10)+round(phase[3],10)+round(phase[4],10),10)==100:
print(phase)
其中 elem_list 包含用户输入的可变数量的元素。
有没有什么方法可以更简洁地编写它,因此它通常可以应用于任何长度的 elem_list?谢谢!
【问题讨论】: