gpt4 book ai didi

python - 如何在Python中创建N个嵌套for循环

转载 作者:太空宇宙 更新时间:2023-11-03 17:19:39 25 4
gpt4 key购买 nike

我想在Python中制作N个嵌套的for循环。例如:

for i in range(1,100):
block1=i
for j in range(1+i,100-i):
block2=j
for k in range(1+j,100-j):

. . .
nth for loop:
for nth in range(1+(prior for loop value),100-(prior for loop value))

在这个特定的实例中,我想做的是检查一组 n 个变量的所有可能的值组合,假设变量是 1 到 100 之间的整数。例如,如果 n 是 3,那么我想要检查所有可能的组合,例如:1,2,31,2,41,2,5。 。 。97,98,99。

同样,如果 n 是 4,我想检查:1,2,3,41,2,3,51,2,3,6。 。 。96,97,98,99

(我不需要检查同一数字的多个实例。例如,如果 n=3,25,25,25 将是浪费计算。)

然后我将使用这 n 个变量执行一些计算。

谢谢您,如果我可以提供进一步的说明,请告诉我。

最佳答案

itertools 模块具有用于迭代的工具。通常,对于嵌套 for 循环,您会想到 itertools.product 但正如 @RemcoGerlich 指出的那样,您似乎只想按字典顺序生成递增的 n 元组。 itertools.combinations 是为此订购的。

itertools.combinations(iterable, r) Return r length subsequences of elements from the input iterable.

Combinations are emitted in lexicographic sort order. So, if the input iterable is sorted, the combination tuples will be produced in sorted order.

Elements are treated as unique based on their position, not on their value. So if the input elements are unique, there will be no repeat values in each combination.

尝试itertools.combinations(range(1,100), n)

关于python - 如何在Python中创建N个嵌套for循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33301903/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com