小编use*_*575的帖子

Python:简化嵌套的 FOR 循环?

我想知道是否有办法简化下面的嵌套循环。困难在于每个循环的迭代器都依赖于前一个循环中的内容。这是代码:

# Find the number of combinations summing to 200 using the given list of coin

coin=[200,100,50,20,10,5,2,1]

total=[200,0,0,0,0,0,0,0]
# total[j] is the remaining sum after using the first (j-1) types of coin
# as specified by i below

count=0
# count the number of combinations

for i in range(int(total[0]/coin[0])+1):
    total[1]=total[0]-i*coin[0]
    for i in range(int(total[1]/coin[1])+1):
      total[2]=total[1]-i*coin[1]
      for i in range(int(total[2]/coin[2])+1):
          total[3]=total[2]-i*coin[2]
          for i in range(int(total[3]/coin[3])+1):
              total[4]=total[3]-i*coin[3]
              for i in range(int(total[4]/coin[4])+1):
                  total[5]=total[4]-i*coin[4]
                  for i in range(int(total[5]/coin[5])+1):
                      total[6]=total[5]-i*coin[5]
                      for i in range(int(total[6]/coin[6])+1):
                          total[7]=total[6]-i*coin[6] …
Run Code Online (Sandbox Code Playgroud)

python loops for-loop nested

5
推荐指数
1
解决办法
4123
查看次数

在Python中定义函数列表

可能重复:
Python lambdas和范围

我希望以下将产生3个常量函数的列表,取值为0,1和2:

lis = []
for i in range(3):
    lis.append( lambda: i )
Run Code Online (Sandbox Code Playgroud)

但他们最终都获得了价值2.我希望深度复制可以解决这个问题,但似乎没有用.

python lambda loops

5
推荐指数
1
解决办法
1740
查看次数

标签 统计

loops ×2

python ×2

for-loop ×1

lambda ×1

nested ×1