variable number of dependent nested loops
给出两个整数
1 2 3 4 5 | [ [n-i-j, j, i] for i in range(n+1) for j in range(n-i+1) ] |
可以很容易地扩展到更多维度,例如
1 2 3 4 5 6 7 | [ [n-i-j-k-l, l, k, j, i] for i in range(n+1) for j in range(n-i+1) for k in range(n-i-j+1) for l in range(n-i-j-l+1) ] |
我现在想制作
有任何提示吗?
递归:首先创建一个长度为
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | def partition(n, d, depth=0): if d == depth: return [[]] return [ item + [i] for i in range(n+1) for item in partition(n-i, d, depth=depth+1) ] # extend with n-sum(entries) n = 5 d = 3 lst = [[n-sum(p)] + p for p in partition(n, d-1)] print(lst) |